Esquerda anti adesão
Um dos tipos de associação disponíveis na caixa de diálogo Intercalar no Power Query é uma associação anti-esquerda, que apresenta apenas linhas da tabela esquerda que não têm linhas correspondentes da tabela direita. Para obter mais informações: Visão geral das operações de mesclagem
O diagrama mostra a 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. A 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 três linhas, com duas linhas contendo os dados para CountryID 1 e uma linha para CountryID 2. Como nenhum dos CountryIDs restantes corresponde a nenhum dos países/regiões na tabela à direita, as linhas na coluna País na tabela mesclada contêm null.
Este artigo usa dados de exemplo para mostrar como fazer uma operação de mesclagem com a antijunção esquerda. 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 tabela é 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ê mescla ambas as tabelas, com a tabela Sales como a tabela esquerda e a tabela Countries como a direita. A junção é feita entre as colunas a seguir.
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 esquerda que não correspondem a nenhuma da tabela direita são mantidas.
Captura de ecrã da tabela final anti-junção esquerda com cabeçalhos das colunas Data, ID do País, Unidades e País e três linhas de dados cujos valores para a coluna País são todos nulos.
Para fazer um anti join à esquerda:
- 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 Esquerda anti.
- Selecione OK.
Gorjeta
Dê uma olhada mais de perto na mensagem na parte inferior da caixa de diálogo que diz "A seleção seleciona 3 de 4 linhas da primeira tabela". Esta mensagem é crucial para compreender o resultado que obtém desta operação.
Na tabela Vendas, você tem duas instâncias de um CountryID de 1 e uma instância de um CountryID de 2, mas nenhuma delas é encontrada na tabela Países. Portanto, a partida encontrou três de quatro linhas na esquerda (primeira) tabela.
Na tabela Países, você tem o País Panamá com um ID de 3, para que o registro não seja trazido para a tabela de Vendas porque os números correspondem. Além disso, você tem um País Espanha com um ID de 4, mas não há registros para CountryID 4 na tabela Vendas . Portanto, nenhuma das duas linhas da tabela direita (segunda) é trazida para a tabela Sales .
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 fazer essa operação, você criou uma tabela que se parece com a imagem a seguir. O campo País recém-expandido não tem valores porque a antijunção esquerda não traz valores da tabela direita — apenas mantém linhas da tabela esquerda.
Captura de ecrã da tabela final com cabeçalhos das colunas Data, ID do País, Unidades e País e três linhas de dados. Os valores para a coluna País são todos nulos.