Table Anti Join
Descrição
Seção intitulada “Descrição”O passo Table Anti Join fornece o conjunto de itens sem correspondência entre duas tabelas. Devolve a lista de itens da primeira tabela sem correspondências na segunda tabela. Isto pode ser bastante útil para determinar que registos estão presentes numa tabela mas não noutra.
Esta operação poderia ser realizada com junções externas e filtrando por valores nulos na junção; no entanto, a transformação de anti-junção fá-lo de forma mais eficiente e mais evidente.
Seleção de dados da tabela
Seção intitulada “Seleção de dados da tabela”Tabela de origem
Indique a tabela de dados de origem selecionando-a no menu pendente.
Colunas de origem
Indique aqui as colunas a incluir. Ao selecionar os botões Inspecionar origem e Populate Source Mapping Table, essas colunas ficam disponíveis para a operação de junção.
Selecionar subconjunto dos dados de origem
Qualquer expressão Python válida é aceite para obter um subconjunto dos dados. Consulte Expressões para obter mais detalhes e exemplos.

Colunas indicadas em tempo de execução
Seção intitulada “Colunas indicadas em tempo de execução”Selecione Transportar também colunas indicadas em tempo de execução para transportar, sem alterações, todas as colunas de origem que o passo não lista, tal como a tabela as tem quando o passo é executado. Utilize-o quando um passo anterior cria colunas cujos nomes dependem dos dados, como um pivô, de modo que não as pode listar ao construir o passo. Deixe desativado para escrever apenas as colunas que listar.
Saída da tabela
Seção intitulada “Saída da tabela”Tabela de destino

Para definir a tabela de destino, selecione uma tabela existente através da lista pendente Tabela de destino ou clique no sinal “+” verde para criar uma nova tabela como destino.
Criação de tabelas
Ao criar uma nova tabela, pode criá-la como Vista ou como Tabela.
Vistas:
As vistas são úteis porque o tempo necessário para executar um passo é significativamente inferior ao de uma tabela. A desvantagem das vistas é que não são adequadas para a exploração de dados no modo Detalhes da tabela.
Tabelas:
Quando se utiliza uma tabela como destino, a execução de um passo demora mais, mas a exploração de dados no modo Detalhes é muito mais rápida do que com uma vista.
Mapa de junção
Seção intitulada “Mapa de junção”
Especifique as condições de junção. Deduzir preenche o Join Map com a primeira das seguintes hipóteses que as colunas das duas tabelas permitam:
- as chaves de outro passo de junção neste projeto que junta as mesmas duas tabelas
- as chaves de um indicador aprovado que as junta
- as colunas de chave definidas numa das tabelas, correspondidas pelo nome na outra
- as colunas com o mesmo nome em Table 1 e Table 2
- colunas cujos nomes diferem apenas em maiúsculas ou sublinhados, ou uma coluna
idcorrespondida com uma coluna com o nome da sua tabela, comocustomer_idpara uma tabela chamada Customers
Uma linha por baixo do mapa indica qual foi utilizada, até alterar o mapa. O Deduzir lê as colunas das tabelas, não as suas linhas, por isso verifique as chaves antes de guardar. Inspecionar origem preenche um Join Map vazio da mesma forma.
Para adicionar colunas manualmente, clique com o botão direito do rato em qualquer parte da secção e selecione Inserir linha ou Acrescentar linha, para adicionar uma linha antes da linha selecionada ou no fim, respetivamente. Depois, escreva os nomes das colunas a fazer corresponder de Table 1 a Table 2. Para remover um campo do Join Map, clique simplesmente com o botão direito do rato e selecione Eliminar.
Colunas de saída de destino
Seção intitulada “Colunas de saída de destino”Configuração do Data Mapper

O Data Mapper serve para mapear colunas dos dados de origem para a tabela de dados de destino.
Inspeção e preenchimento do mapeador
Utilizar 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. É o comportamento predefinido.
- Preencher apenas a tabela de mapeamento de origem: mapeia apenas todos os valores da tabela de dados de origem. É útil ao modificar um fluxo de trabalho existente cuja estrutura de colunas de origem mudou.
- Preencher apenas a tabela de mapeamento de destino: propaga todos os valores apenas para a tabela de dados de destino.
Se as opções de colunas de origem e de destino não forem suficientes, podem adicionar-se outras colunas à tabela de dados de destino de várias formas:
- Propagar tudo insere todas as colunas de origem na tabela de dados de destino, quer já existam ou não.
- Propagar selecionadas insere apenas as colunas de origem selecionadas.
- Clique com o botão direito do rato no lado do destino e selecione Inserir linha para inserir uma linha imediatamente acima da linha atualmente selecionada.
- Clique com o botão direito do rato no lado do destino e selecione Acrescentar linha para inserir uma linha no fim (extremo direito) da tabela de dados de destino.
Eliminar colunas
Para eliminar colunas da tabela de dados de destino, selecione as colunas pretendidas, clique com o botão direito do rato e selecione Eliminar.
Colunas de origem que já não constam da lista
Uma linha de destino pode indicar uma Coluna de origem que a tabela de dados de origem já não lista, por exemplo depois de a origem ter sido inspecionada novamente. O passo nunca remove essa linha por si. Em vez disso, o nome da coluna é apresentado a vermelho, atrás de um sinal de aviso ⚠, e, ao passar o cursor por cima, é indicado que a coluna não consta das colunas de origem. Num passo com várias tabelas, como uma união, cada tabela é verificada em relação às suas próprias colunas de origem.
Uma linha com uma Constante, uma Expressão ou um resumo Contagem (incluindo nulos) nunca é sinalizada, porque o passo não lê a respetiva coluna de origem. Nada é sinalizado enquanto a tabela de dados de origem não listar colunas, por exemplo antes de a origem ser inspecionada pela primeira vez.
Ao guardar um passo que ainda tem linhas sinalizadas, uma caixa de diálogo Colunas obsoletas encontradas lista-as sob o separador ou a tabela em que se encontram e oferece três opções:
- Remover todas e guardar: remove as linhas sinalizadas e depois guarda.
- Guardar mesmo assim: guarda o passo tal como está.
- Cancelar: volta ao passo sem guardar.
Para manter uma linha e eliminar o respetivo aviso, adicione a coluna de volta à tabela de dados de origem ou escolha uma coluna que a tabela de dados de origem liste.
Tipo de dados da coluna
Cada coluna de destino tem um Tipo. Uma coluna propagada da origem mantém o tipo da coluna de origem; uma linha que adicione manualmente começa como Texto, e define o Tipo para indicar o que a coluna deve realmente ser. Uma coluna que pretenda somar ou ordenar precisa do respetivo tipo numérico ou de data, porque o texto é ordenado e somado como texto.
Um passo guardado com uma coluna sem qualquer tipo é, mesmo assim, executado. O tipo é determinado quando o passo é iniciado, a partir da coluna de origem que essa coluna lê. Quando não há nada de onde o ler, é tratado como texto: as colunas de um passo Extrair SQL vêm da consulta que escreveu e não de uma origem mapeada e, quando várias origens têm o mesmo nome de coluna com tipos discordantes, é utilizado texto em vez de adivinhar um deles, porque um palpite errado produz uma conversão que o armazém pode rejeitar, e tudo se converte em texto.
Definir o Tipo manualmente continua a ser a forma de indicar o que uma coluna deve ser. Deixá-lo por definir significa aceitar o que a coluna de origem for.
Alterar a ordem das colunas
Para reordenar as colunas na tabela de dados de destino, selecione as colunas pretendidas. Pode utilizar:
- Setas de movimento em massa: selecione a opção de movimento pretendida nas setas no canto superior direito
- Menu de contexto: clique com o botão direito do rato e selecione Mover para o início, Mover para cima, Mover para baixo ou Mover para o fim.
Reduzir o resultado apenas a registos distintos
Para devolver apenas opções distintas, selecione a opção de menu Distinto. Isto apresenta um conjunto de caixas de verificação para cada coluna da origem. Basta marcar a caixa junto da coluna correspondente para devolver apenas resultados distintos.
Consoante a situação, pode ser preferível considerar a utilização da sumarização.
O processo de distinção mantém o primeiro registo único encontrado e descarta os restantes. Pode querer aplicar uma ordenação aos dados, se for importante para a consistência entre execuções.
Agregação e agrupamento
Para agregar resultados, selecione a opção de menu Resumir. Isto apresenta um conjunto de caixas de seleção para cada coluna da tabela de dados de destino. Escolha um método de sumarização 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 se assemelhar a um identificador, como id, customer_id, Order No ou CustomerKey, se a respetiva tabela a definir como chave ou se a junção a utilizar como chave.
- Agrupar por
- Soma
- Mínimo
- Máximo
- Primeiro
- Último
- Contagem
- Contagem (incluindo nulos)
- Média
- Desvio padrão
- Desvio padrão da amostra
- Desvio padrão da população
- Variância
- Variância da amostra
- Variância da população
- Avançado sem agrupar por
Para uma utilização avançada do Data Mapper, como expressões, limpeza e constantes, consulte Utilização avançada do Data Mapper
Colunas obsoletas
Seção intitulada “Colunas obsoletas”Uma linha de Join Map ou de Colunas de saída de destino pode indicar uma coluna que o separador Colunas de origem do passo já não lista, por exemplo depois de as colunas de uma origem terem sido inspecionadas de novo. O passo nunca remove uma linha dessas por si. Em vez disso, o nome da coluna é mostrado a vermelho a seguir a um sinal de aviso ⚠, e ao pairar sobre ele é indicado em que lista de origem a coluna não consta.
Uma linha de Colunas de saída de destino com uma Constante, uma Expressão ou um resumo Contagem (incluindo nulos) nunca é assinalada, porque o passo não lê a coluna de origem da linha. Nada é verificado em relação a uma origem cuja lista está vazia, por exemplo uma que nunca foi inspecionada.
Ao guardar um passo que ainda tem linhas assinaladas, uma caixa de diálogo Colunas obsoletas encontradas lista-as por tabela e oferece três opções:
- Remover todas e guardar — remover as linhas assinaladas e depois guardar.
- Guardar mesmo assim — guardar o passo tal como está.
- Cancelar — voltar ao passo sem guardar.
Para manter uma linha e limpar o seu aviso, adicione a coluna de volta à lista dessa origem no separador Colunas de origem, ou escolha uma coluna que a lista contenha.
Ao guardar, cada tabela de origem é também verificada tal como está agora. Uma coluna que a lista de uma origem contém mas que a respetiva tabela não tem abre uma caixa de diálogo Colunas de origem em falta que indica a tabela e a coluna, com Guardar mesmo assim ou Cancelar. Quando há também linhas assinaladas, ambas aparecem em conjunto na caixa de diálogo Colunas obsoletas encontradas. Consulte Colunas em falta na tabela de origem.
Uma anti-junção produz colunas apenas da origem A, pelo que uma linha de Colunas de saída de destino tirada da origem B também é assinalada, mesmo que a origem B liste a coluna.
Filtros de saída
Seção intitulada “Filtros de saída”
Para permitir a máxima flexibilidade, existem filtros de dados disponíveis nos dados de origem e nos dados de destino. Em conjuntos de dados maiores, pode ser especialmente vantajoso filtrar linhas na origem, para que as restantes operações sejam executadas sobre um conjunto de dados mais pequeno.
Selecionar subconjunto de dados
Este tipo de filtro permite filtrar os dados de origem recebidos 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 depois de transformados, com base nas condições especificadas. A possibilidade de aplicar um filtro ao resultado transformado permite exclusões com base nos resultados de cálculos complexos, sumarizações ou funções de janela.
Divisão final da tabela de dados (limite)
A capacidade de divisão de linhas permite limitar as linhas do conjunto de resultados com base num intervalo e num ponto de partida.
Sintaxe de filtros
A sintaxe de filtros utiliza o Python SQLAlchemy, que é a mesma sintaxe das outras expressões.
Consulte exemplos e funções de expressão na área Expressões.