Pular para o conteúdo

Use esta etapa para executar uma junção interna em 2 tabelas de dados, combinando-as em uma única tabela de dados com base nas chaves de junção especificadas.

Para mais detalhes sobre a metodologia da junção interna, consulte: Wikipedia SQL Inner Join

Tabela ATabela Bcorrespondentesmantidas
Junção interna — mantém somente as linhas cuja chave de junção corresponde nas duas tabelas (a interseção). As linhas sem correspondência de qualquer lado são descartadas.

Origem da tabela

Especifique a tabela de dados de origem selecionando-a no menu suspenso.

Colunas de origem

Especifique aqui as colunas a serem incluídas. 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 é aceita para obter um subconjunto dos dados. Consulte Expressões para mais detalhes e exemplos.

Origem da tabela

Marque Levar também colunas nomeadas durante a execução para passar sem alteração todas as colunas de origem que a etapa não lista, como a tabela as tem quando a etapa é executada. Use essa opção quando uma etapa anterior cria colunas cujos nomes dependem dos dados, como em um pivô, e por isso você não pode listá-las ao criar a etapa. Deixe-a desmarcada para gravar somente as colunas que você listar.

Tabela de destino

Tabela de destino

Para definir a tabela de destino, selecione uma tabela existente na lista suspensa Tabela de destino ou clique no sinal verde “+” para criar uma nova tabela como destino.

Criação de tabela

Ao criar uma nova tabela, você pode criá-la como Visão ou como Tabela.

Visões:

As visões são úteis porque o tempo necessário para executar uma etapa é bem menor do que quando se usa uma tabela. A desvantagem das visões é que elas não são úteis para explorar dados no modo Detalhes da tabela.

Tabelas:

Ao usar uma tabela como destino, a etapa leva mais tempo para ser executada, mas a exploração de dados no modo Detalhes é muito mais rápida do que com uma visão.

Mapa de junção de tabelas

Especifique as condições de junção. Detectar preenche o Join Map com a primeira destas opções que as colunas das duas tabelas permitirem:

  • as chaves de outra etapa de junção deste projeto que une as mesmas duas tabelas
  • as chaves de uma métrica aprovada que as une
  • as colunas-chave definidas em uma das tabelas, correspondidas por 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 id correspondida a uma coluna com o nome da própria tabela, como customer_id para uma tabela chamada Customers

Uma linha abaixo do mapa informa qual delas foi usada, até você alterar o mapa. Detectar lê as colunas das tabelas, não as linhas, portanto verifique as chaves antes de salvar. Inspecionar origem preenche um Join Map vazio da mesma forma.

Para adicionar colunas manualmente, clique com o botão direito em qualquer parte da seção e selecione Inserir linha ou Anexar linha, para adicionar uma linha antes da linha selecionada ou no final, respectivamente. Depois, digite os nomes das colunas a serem correspondidas de Table 1 para Table 2. Para remover um campo do Join Map, basta clicar com o botão direito e selecionar Excluir.

Verificar chaves, ao lado de Detectar, conta os valores de chave do Join Map que aparecem em mais de uma linha de uma tabela. Quando um valor de chave se repete na tabela à qual você faz a junção, cada linha que corresponde a ele aparece no resultado uma vez para cada linha correspondente, de modo que o resultado pode ter mais linhas do que a tabela de partida.

A tabela verificada depende da etapa:

  • Junção interna e Table Lookup: Tabela 2.
  • Junção externa: Tabela 2 em uma junção à esquerda, Tabela 1 em uma junção à direita e ambas as tabelas em uma junção completa.

A resposta aparece abaixo do Join Map. Ela informa o número de valores de chave repetidos e as linhas que os compartilham, e lista até cinco dos mais repetidos. A contagem considera:

  • a tabela como ela está agora, depois do filtro desta etapa sobre essa tabela;
  • apenas as linhas que você pode ver, quando a segurança em nível de linha limita o que você vê da tabela. A resposta informa isso;
  • nenhuma linha com chave em branco, porque uma chave em branco nunca corresponde a outra linha. A exceção é uma junção interna ou externa configurada para fazer chaves em branco corresponderem entre si, como pode ocorrer em uma junção convertida do Alteryx: nesse caso, as chaves em branco contam como um valor de chave e podem aparecer na lista como (em branco).

A etapa Table Lookup nunca repete uma linha. Para uma chave repetida, ela mantém uma linha da Tabela 2, usando o menor valor de cada coluna (o menor número, a data mais antiga, o primeiro texto na ordem de classificação), de modo que essa linha pode misturar valores de linhas diferentes da Tabela 2. Verificar chaves avisa quando isso acontece; para escolher quais valores são usados, faça cada chave aparecer apenas uma vez na Tabela 2.

A verificação lê a tabela no seu data warehouse, portanto só é executada quando você a escolhe e é interrompida após 30 segundos. Alterar qualquer uma das tabelas, o filtro dela, o Join Map ou, na junção externa, o Tipo de junção limpa a resposta.

Configuração do Data Mapper

Data Mapper de tabela

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.

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

Uma linha de Join Map ou de Colunas de saída de destino pode citar uma coluna que a guia Colunas de origem da etapa não lista mais, por exemplo depois de as colunas de uma origem serem inspecionadas novamente. A etapa nunca remove essa linha por você. Em vez disso, o nome da coluna aparece em vermelho depois de um sinal de alerta ⚠, e, ao passar o mouse sobre ele, você vê de qual origem a lista não tem a coluna.

Uma linha de Colunas de saída de destino com resumo Constante, Expressão ou Contagem (incluindo nulos) nunca é sinalizada, porque a etapa 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 salvar uma etapa que ainda tem linhas sinalizadas, uma caixa de diálogo Colunas obsoletas encontradas lista essas linhas por tabela e oferece três opções:

  • Remover todas e salvar — remove as linhas sinalizadas e depois salva.
  • Salvar mesmo assim — salva a etapa como está.
  • Cancelar — volta para a etapa sem salvar.

Para manter uma linha e limpar o alerta, adicione a coluna de volta à lista dessa origem na guia Colunas de origem ou escolha uma coluna que a lista contenha.

Ao salvar, cada tabela de origem também é verificada no estado atual. Uma coluna que a lista de uma origem contém, mas que a tabela não tem, abre uma caixa de diálogo Colunas de origem ausentes com o nome da tabela e da coluna, com as opções Salvar mesmo assim ou Cancelar. Quando há também linhas sinalizadas, ambas aparecem juntas na caixa de diálogo Colunas obsoletas encontradas. Consulte Colunas ausentes na tabela de origem.

Filtros de dados da tabela

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.

Junção de fabricantes de automóveis com modelos

Seção intitulada “Junção de fabricantes de automóveis com modelos”

Neste exemplo, considere as tabelas de dados de origem a seguir. A primeira é uma lista de fabricantes de automóveis.

Mfg_ID Manufacturer
1 Aston Martin
2 Porsche
3 Lamborghini
4 Ferrari
5 Koenigsegg

A seguir, há uma lista de modelos de automóveis com um ID de fabricante. Observe que vários modelos não têm fabricante.

ModelName Mfg_ID
Aventador 3
Countach 3
DBS 1
Enzo 4
One-77 1
Optimus Prime
Batmobile
Agera 5
Lightning McQueen

Para obter uma lista de modelos por fabricante, faz sentido juntar por Mfg_ID.

Primeiro, especifique os parâmetros de Table 1 Data Selection. A tabela de dados de origem é selecionada e todas as colunas são listadas.

Em seguida, especifique os parâmetros de Table 2 Data Selection. Mais uma vez, a tabela de dados de origem é selecionada e todas as colunas são listadas.

Por fim, as condições de junção são definidas na guia Table Output. Usando o botão Detectar, o Analyze identifica corretamente a coluna Mfg_ID a ser usada como Join Key. Por último, as

Colunas de saída de destino são especificadas automaticamente com o botão Propagar. Isso inclui, na prática, todas as colunas de todas as tabelas, com todas as colunas de junção incluídas uma única vez. Observe que as colunas são ordenadas alfabeticamente, primeiro por Manufacturer e depois por ModelName.

Como esperado, a saída final inclui apenas os valores que tiveram correspondência nas duas tabelas. Por isso, Porsche não aparece, pois não tinha modelos. Da mesma forma, o

Batmobile não tinha fabricante (era um modelo customizado), então não está incluído.