Direito anti adesão
Um dos tipos de associação disponíveis na caixa de diálogo Intercalar no Power Query é uma associação anti-associação direita, que apresenta apenas linhas da tabela direita que não têm linhas correspondentes da tabela esquerda. Para obter mais informações: Visão geral das operações de mesclagem
A figura mostra uma tabela à esquerda com as colunas Data, ID do País e Unidades. A coluna CountryID enfatizada contém valores de 1 nas linhas 1 e 2, 3 na linha 3 e 2 na linha 4. Uma tabela à direita contém as colunas ID e País. A coluna ID enfatizada contém valores de 3 na linha 1 (indicando Panamá) e 4 na linha 2 (indicando Espanha). Uma tabela abaixo das duas primeiras tabelas contém as colunas Data, ID do País, Unidades e País. A tabela tem uma linha, com Date, CountryID e Units definidos como null e Country definido como Espanha.
Este artigo usa dados de exemplo para mostrar como fazer uma operação de mesclagem com a antijunção correta. As tabelas de origem de exemplo para este exemplo são:
Vendas: Esta tabela inclui os campos Data, ID do País e Unidades. CountryID é um valor de número inteiro que representa o identificador exclusivo da tabela Countries .
Países: Esta é uma tabela de referência com os campos id e País. O campo id representa o identificador exclusivo de cada registro.
Neste exemplo, você mesclará ambas as tabelas, com a tabela Vendas como a tabela esquerda e a tabela Países como a tabela direita. A junção será feita entre as colunas seguintes.
Campo da tabela Vendas | Campo da tabela Países |
---|---|
CountryID | id |
O objetivo é criar uma tabela como a seguinte, onde apenas as linhas da tabela direita que não correspondem a nenhuma da tabela esquerda são mantidas. Como um caso de uso comum, você pode encontrar todas as linhas que estão disponíveis na tabela direita, mas não são encontradas na tabela esquerda.
Tabela final anti-junção direita com as colunas de cabeçalho Data, PaísID, Unidades e País, contendo uma linha com nulo em todas as colunas, exceto País, que contém Espanha.
Para fazer um direito anti join
- Selecione a consulta Vendas e, em seguida, selecione Mesclar consultas.
- Na caixa de diálogo Mesclar, em Tabela à direita para mesclagem, selecione Países.
- Na tabela Vendas, selecione a coluna CountryID.
- Na tabela Países, selecione a coluna id.
- Na seção Tipo de associação, selecione Antidireito à direita.
- Selecione OK.
Gorjeta
Dê uma olhada mais de perto na mensagem na parte inferior da caixa de diálogo que diz "A seleção exclui 1 de 2 linhas da segunda tabela". Esta mensagem é crucial para compreender o resultado que obtém desta operação.
Na tabela Países, você tem o País Espanha com um id de 4, mas não há registros para CountryID 4 na tabela Vendas. É por isso que apenas uma das duas linhas da (segunda) tabela direita encontrou uma correspondência. Devido ao funcionamento da antijunção direita, você nunca verá nenhuma linha da tabela esquerda (primeira) na saída desta operação.
Na coluna Países recém-criada, expanda o campo País. Não marque a caixa de seleção Usar nome da coluna original como prefixo.
Depois de executar essa operação, você criará uma tabela parecida com a imagem a seguir. O campo País recém-expandido não tem valores. Isso porque a antijunção direita não traz nenhum valor da tabela esquerda, apenas mantém linhas da tabela direita.
Tabela final com as colunas de cabeçalho Data, ID do País, Unidades e País, contendo uma linha com nulo em todas as colunas, exceto País, que contém Espanha.