Export Templated
Descrição
Seção intitulada “Descrição”Renderiza tabelas de projeto por meio de um modelo para produzir um documento estruturado, em vez do despejo bruto de colunas que as outras etapas de exportação gravam. Use-a quando o sistema receptor exigir um formato XML específico, ou outro formato de texto, em vez de uma tabela.
Itens de configuração exclusivos
Seção intitulada “Itens de configuração exclusivos”Modelo de origem
Seção intitulada “Modelo de origem”O modelo Jinja a partir do qual a saída é renderizada. Consulte O que um modelo pode usar.
Saída de destino
Seção intitulada “Saída de destino”A conta de documentos, a pasta e o nome do arquivo do resultado renderizado. O modelo decide o que o arquivo contém; um nome de arquivo sem extensão recebe .xml.
Usar DataFrames do Pandas para os dados da tabela muda a forma como as linhas de cada origem chegam ao modelo. Consulte Linhas de origem como tabela.
Tabela de origem
Seção intitulada “Tabela de origem”Indique as tabelas explicitamente ou encontre-as por caminho e uma regra de pesquisa: exata, começa com, termina com, contém ou glob.
O que um modelo pode usar
Seção intitulada “O que um modelo pode usar”O modelo é renderizado em um sandbox: ele lê os dados que a etapa fornece e nada mais.
- Cada origem, pelo seu Nome. Toda tabela de origem que você lista fica disponível ao modelo pelo Nome que você der a ela, portanto use um nome que funcione como variável, como
invoices. - As variáveis do fluxo de trabalho, como
variable, por exemplo{{ variable.region }}.
<Invoices>{% for row in invoices %} <Invoice id="{{ row.invoice_id }}" amount="{{ row.amount }}" />{% endfor %}</Invoices>Linhas de origem como lista
Seção intitulada “Linhas de origem como lista”Com Usar DataFrames do Pandas para os dados da tabela desativado, uma origem é uma lista somente leitura de linhas. Percorra-a em um laço ou use |length, keys(), first(), one(), all(), scalar(), scalars(), mappings(), fetchmany(n) e columns('a', 'b'). Leia um valor de uma linha como row.amount, row['amount'] ou row[0]; row._mapping, row._asdict() e row._fields também funcionam. As linhas de columns('a', 'b') aceitam row.amount ou row[0], não row['amount'].
Linhas de origem como tabela
Seção intitulada “Linhas de origem como tabela”Com Usar DataFrames do Pandas para os dados da tabela ativado, uma origem é uma tabela somente leitura. Percorrê-la em um laço fornece cada linha como um dicionário, então row.amount e row['amount'] funcionam. Você também pode usar:
columns,empty,shape,valueseindexhead(n)etail(n)itertuples(), que coloca a posição da linha primeiro comoIndex, entãor[1]é a primeira coluna;itertuples(index=False)a omiteiterrows(), que fornece a posição da linha e a linhainvoices['amount'], os valores de uma coluna, comsum(),min(),max(),mean(),unique()etolist();sum,min,maxemeanignoram nulos
Outros métodos do pandas, como loc e groupby, não estão disponíveis. Dê forma aos dados em uma etapa anterior e exporte o resultado.
O que um modelo não pode fazer
Seção intitulada “O que um modelo não pode fazer”- Chamar um método cujo nome comece com
to_, em qualquer valor:to_csveto_json, e também os inofensivos, comoto_pydatetime. - Ler um atributo cujo nome comece com sublinhado, exceto
_mapping,_asdicte_fieldsde uma linha. - Gravar ou abrir arquivos.
Uma chamada to_ ou uma operação com arquivo faz a etapa falhar. Um atributo com sublinhado diferente desses três simplesmente é renderizado como nada.
Itens de configuração comuns
Seção intitulada “Itens de configuração comuns”Configuração do Data Mapper

O Data Mapper é usado para mapear as colunas dos dados de origem para a tabela de dados de destino.
Inspeção e Preenchimento do Mapeador
O botão de menu Inspecionar origem oferece formas adicionais de mapear colunas da origem para o destino:
- Preencher ambas as tabelas de mapeamento: propaga todos os valores da tabela de dados de origem para a tabela de dados de destino. Este é o comportamento padrão.
- Preencher somente a tabela de mapeamento de origem: mapeia apenas todos os valores da tabela de dados de origem. Isso é útil ao modificar um fluxo de trabalho existente quando a estrutura de colunas da origem mudou.
- Preencher somente a tabela de mapeamento de destino: propaga todos os valores apenas para a tabela de dados de destino.
Se as opções de coluna de origem e de destino não forem suficientes, é possível adicionar outras colunas à tabela de dados de destino de várias maneiras:
- Propagar tudo insere todas as colunas de origem na tabela de dados de destino, quer elas já existam ou não.
- Propagar selecionadas insere apenas as colunas de origem selecionadas.
- Clique com o botão direito no lado do destino e selecione Inserir linha para inserir uma linha imediatamente acima da linha selecionada.
- Clique com o botão direito no lado do destino e selecione Anexar linha para inserir uma linha no final (extrema direita) da tabela de dados de destino.
Exclusão de Colunas
Para excluir colunas da tabela de dados de destino, selecione as colunas desejadas, clique com o botão direito e selecione Excluir.
Colunas de Origem que Não Estão Mais Listadas
Uma linha de destino pode indicar uma Coluna de origem que a tabela de dados de origem não lista mais, por exemplo depois que a origem foi inspecionada novamente. A etapa nunca remove essa linha por você. Em vez disso, o nome da coluna aparece em vermelho, após um sinal de aviso ⚠, e ao passar o mouse sobre ele é exibida a informação de que a coluna não está nas colunas de origem. Em uma etapa com várias tabelas, como uma união, cada tabela é verificada em relação às suas próprias colunas de origem.
Uma linha com resumo Constante, Expressão ou Contagem (incluindo nulos) nunca é sinalizada, porque a etapa não lê a coluna de origem dela. Nada é sinalizado enquanto a tabela de dados de origem não listar nenhuma coluna, por exemplo antes de a origem ser inspecionada pela primeira vez.
Ao salvar uma etapa que ainda tem linhas sinalizadas, uma caixa de diálogo Colunas obsoletas encontradas as lista sob a guia ou a tabela em que estão e oferece três opções:
- Remover todas e salvar — remove as linhas sinalizadas e, em seguida, salva.
- Salvar mesmo assim — salva a etapa como está.
- Cancelar — volta para a etapa sem salvar.
Para manter uma linha e eliminar o aviso dela, adicione a coluna de volta à tabela de dados de origem ou escolha uma coluna que a tabela de dados de origem liste.
Colunas ausentes na tabela de origem
Ao salvar, a própria tabela de dados de origem é verificada no estado atual. Uma coluna que a etapa lista nas colunas de origem, mas que a tabela não tem, por exemplo uma que uma etapa anterior renomeou ou removeu, significa que as colunas da etapa estão desatualizadas, e uma etapa que lê essa coluna falha ao ser executada. Nesse caso, ao salvar, abre-se uma caixa de diálogo Colunas de origem ausentes que informa cada tabela e as colunas que faltam nela, com duas opções:
- Salvar mesmo assim — salva a etapa como está.
- Cancelar — volta para a etapa sem salvar.
Nada é removido automaticamente, porque o problema pode estar na tabela, e ela pode mudar de novo antes da execução da etapa. Quando há também linhas sinalizadas como não listadas, ambas aparecem juntas na caixa de diálogo Colunas obsoletas encontradas, e Remover todas e salvar remove apenas as linhas sinalizadas. Enquanto a lista de colunas de origem estiver vazia, são verificadas as colunas que a etapa mapeia, exceto as linhas com resumo Constante, Expressão ou Contagem (incluindo nulos), que não leem nenhuma coluna.
Uma origem nomeada com uma variável, como {year}/Sales, é verificada com o valor da variável no momento em que você salva, e a caixa de diálogo informa a tabela verificada, como 2026/Sales (from {year}/Sales). Uma variável definida por um loop contém o valor da última iteração, portanto um loop sobre tabelas com estruturas diferentes pode alertar sobre uma tabela que a próxima execução não vai ler. Não são verificadas uma tabela que ainda não existe, por exemplo uma criada por uma etapa anterior do fluxo de trabalho, uma origem cuja variável não tem valor, uma tabela que a etapa localiza por pesquisa durante a execução ou uma tabela que não pode ser lida no momento.
Tipo de Dados da Coluna
Toda coluna de destino tem um Tipo. Uma coluna propagada da origem mantém o tipo da coluna de origem; uma linha que você adiciona manualmente começa como Texto, e você define o Tipo para indicar o que ela deve realmente ser — uma coluna que você pretende somar ou ordenar precisa do tipo numérico ou de data, porque texto é ordenado e somado como texto.
Uma etapa salva com uma coluna sem nenhum tipo ainda é executada. O tipo é determinado quando a etapa é iniciada, a partir da coluna de origem que essa coluna lê. Onde não há de onde lê-lo, ele é tratado como texto: as colunas de uma etapa Extrair SQL vêm da consulta que você escreveu, e não de uma origem mapeada, e onde várias origens têm o mesmo nome de coluna com tipos divergentes, usa-se texto em vez de adivinhar um deles — um palpite errado gera uma conversão que o data warehouse pode rejeitar, e qualquer coisa pode ser convertida em texto.
Definir o Tipo você mesmo continua sendo a forma de dizer o que uma coluna deve ser. Deixá-lo sem definição significa aceitar o tipo que a coluna de origem tiver.
Alteração da Ordem das Colunas
Para reorganizar as colunas na tabela de dados de destino, selecione as colunas desejadas. Você pode usar:
- Setas de movimentação em massa: selecione a opção de movimentação desejada nas setas no canto superior direito
- Menu de contexto: clique com o botão direito e selecione Mover para o início, Mover para cima, Mover para baixo ou Mover para o final.
Reduzir o Resultado a Registros Distintos
Para retornar apenas opções distintas, selecione a opção de menu Distintos. Isso exibe um conjunto de caixas de seleção para cada coluna da origem. Basta marcar a caixa ao lado da coluna correspondente para retornar apenas resultados distintos.
Dependendo da situação, talvez seja melhor considerar o uso de resumo.
O processo de distinção mantém o primeiro registro exclusivo encontrado e descarta os demais. Talvez você queira aplicar uma ordenação aos dados se a consistência entre execuções for importante.
Agregação e Agrupamento
Para agregar resultados, selecione a opção de menu Resumir. Isso exibe um conjunto de caixas de seleção para cada coluna da tabela de dados de destino. Escolha um método de resumo adequado para cada coluna.
Quando Inspecionar origem preenche as colunas, uma coluna numérica começa como Agrupar por em vez de Soma se o nome dela se parecer com um identificador, como id, customer_id, Order No ou CustomerKey, se a tabela dela a definir como chave ou se a junção a usar como chave.
- Agrupar por
- Soma
- Mínimo
- Máximo
- Primeiro
- Último
- Contagem
- Contagem (incluindo nulos)
- Média
- Desvio padrão
- Desvio padrão amostral
- Desvio padrão populacional
- Variância
- Variância amostral
- Variância populacional
- Avançado sem Agrupar por
Para uso avançado do Data Mapper, como expressões, limpeza e constantes, consulte Uso avançado do Data Mapper

Para oferecer o máximo de flexibilidade, há filtros de dados tanto nos dados de origem quanto nos dados de destino. Em conjuntos de dados maiores, filtrar linhas na origem pode ser especialmente vantajoso, pois as demais operações são executadas sobre um conjunto de dados menor.
Selecionar subconjunto de dados
Este tipo de filtro permite filtrar os dados de origem de entrada com base nas condições especificadas.
Aplicar filtro secundário aos dados de resultado
Este tipo de filtro permite aplicar um filtro aos dados de resultado já transformados, com base nas condições especificadas. Aplicar um filtro ao resultado transformado permite fazer exclusões com base em resultados de cálculos complexos, sumarizações ou funções de janela.
Divisão final da tabela de dados (limite)
O recurso de divisão de linhas permite limitar as linhas do conjunto de resultados com base em um intervalo e um ponto de partida.
Sintaxe de filtro
A sintaxe de filtro usa o Python SQLAlchemy, a mesma sintaxe das outras expressões.
Veja exemplos e funções de expressão na área Expressões.
Relacionados
Seção intitulada “Relacionados”- Etapas de exportação
- Export To XML — para XML sem modelo
- Etapas de relatório — para relatórios em PDF criados a partir de modelos