Antijunção esquerda
Um dos tipos disponíveis de junção na caixa de diálogo Mesclar no Power Query é a antijunção esquerda que traz apenas as linhas da tabela à esquerda que não nenhuma linha correspondente na tabela à direita. Para mais informações, consulte: Visão geral das operações de mesclar
O diagrama mostra a tabela esquerda com colunas Date, CountryID e Units. A coluna CountryID enfatizada contém valores iguais a 1 nas linhas 1 e 2, 3 na linha 3 e 2 na linha 4. A tabela direita contém as colunas ID e Country. A coluna ID destacada contém os valores 3 na linha 1 (indicando Panamá) e 4 na linha 2 (indicando Espanha). A tabela abaixo das duas primeiras tabelas contém as colunas Date, CountryID, Units e Country. 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 junção anti-junção esquerda. As tabelas de origem de exemplo para este exemplo são:
Sales: esta tabela inclui os campos Date, CountryID e Units. CountryID é um valor numérico inteiro que representa o identificador exclusivo da tabela Countries.
Countries: esta é uma tabela de referência com os campos id e Country. O campo ID representa o identificador exclusivo de cada registro.
Neste exemplo, você mescla ambas as tabelas, com a tabela Sales sendo a tabela esquerda e a tabela Countries a direita. A junção é feita entre as colunas a seguir.
Campo da tabela Sales | Campo da tabela Countries |
---|---|
CountryID | ID |
O objetivo é criar uma tabela como a seguinte, em que somente as linhas da tabela esquerda que não correspondem a nenhuma linha da tabela direita serão mantidas.
Captura de tela da tabela final antijunção esquerda com cabeçalhos de coluna Date, CountryID, Units e Country e três linhas de dados das quais os valores da coluna Country são todos nulos.
Para fazer uma antijunção esquerda:
- Selecione a consulta Sales e selecione Mesclar consultas.
- Na caixa de diálogo Mesclar, em Tabela à direita para mesclar, selecione Countries.
- Na tabela Sales, selecione a coluna CountryID.
- Na tabela Countries, selecione a coluna ID.
- Na seção Tipo de junção, selecione Anti esquerda.
- Selecione OK.
Dica
Analise com atenção a mensagem na parte inferior da caixa de diálogo que diz: "A seleção seleciona 3 de 4 linhas da primeira tabela". Essa mensagem é crucial para entender o resultado obtido nessa operação.
Na tabela Sales, você tem duas instâncias de um CountryID de 1 e uma instância de um CountryID de 2, mas nenhum desses valores é encontrado na tabela Countries. Portanto, a correspondência encontrou três de quatro linhas na tabela esquerda (primeira).
Na tabela Countries, você tem o Country Panamá com um ID de 3, de modo que o registro não é trazido para a tabela Sales porque os números coincidem. Além disso, existe o Country Espanha com uma ID de 4, mas não há registros para CountryID 4 na tabela Sales. Portanto, nenhuma das duas linhas da tabela direita (segunda) é trazida para a tabela Sales.
Na coluna Countries recém-criada, expanda o campo Country. Não marque a caixa de seleção Usar nome da coluna original como prefixo.
Depois de fazer essa operação, você terá criado uma tabela semelhante à imagem a seguir. O novo campo Country expandido não contém nenhum valor porque a antijunção esquerda não traz nenhum valor da tabela à direita, apenas mantém as linhas da tabela à esquerda.
Captura de tela da tabela final com cabeçalhos de coluna Date, CountryID, Units e Country e três linhas de dados. Os valores para a coluna Country são todos nulos.