Mescla do Power Query Retorna Menos Linhas que o Esperado: Correção
🔍 WiseChecker

Mescla do Power Query Retorna Menos Linhas que o Esperado: Correção

Ao mesclar duas tabelas no Power Query, o resultado pode conter menos linhas que a tabela esquerda. Isso acontece porque o tipo de junção padrão é a junção externa esquerda, que mantém apenas as linhas da tabela esquerda que correspondem a pelo menos uma linha na tabela direita. Se a tabela direita tiver chaves duplicadas ou correspondências ausentes, as linhas da tabela esquerda podem ser descartadas ou duplicadas incorretamente. Este artigo explica por que a contagem de linhas muda durante uma mescla e fornece correções passo a passo para preservar todas as linhas esperadas.

Principais Conclusões: Corrigindo Problemas de Contagem de Linhas na Mescla do Power Query

  • Página Inicial > Mesclar Consultas > Lista suspensa Tipo de Junção: Altere de Externa Esquerda para Anti Esquerda ou Completa Externa para diagnosticar linhas ausentes.
  • Remover Duplicatas na tabela direita antes de mesclar: Evita a multiplicação de linhas quando existem várias correspondências.
  • Verifique os tipos de dados das colunas e espaços iniciais/finais: Tipos incompatíveis ou espaços extras fazem com que as chaves de mescla não correspondam.

ADVERTISEMENT

Por que a Mescla do Power Query Retorna Menos Linhas que a Tabela Esquerda

As operações de mescla do Power Query usam a lógica de junção de bancos de dados relacionais. O tipo de junção padrão é Externa Esquerda, que mantém todas as linhas da tabela esquerda, mas inclui apenas as linhas da tabela direita que possuem uma chave correspondente. Se uma chave na tabela esquerda não existir na tabela direita, a linha esquerda ainda aparece na saída com valores nulos para as colunas da tabela direita. Esse comportamento não reduz a contagem de linhas.

A contagem de linhas diminui apenas quando você usa um tipo de junção que filtra linhas sem correspondência. Os tipos de junção mais comuns que reduzem a contagem de linhas são:

Junção Interna

Uma junção interna mantém apenas as linhas onde a chave existe em ambas as tabelas. Qualquer linha da tabela esquerda sem uma chave correspondente na tabela direita é descartada. Esta é a causa mais frequente de menos linhas.

Junção Anti Esquerda

Uma junção anti esquerda mantém apenas as linhas da tabela esquerda que não têm correspondência na tabela direita. Isso reduz intencionalmente a contagem de linhas para o conjunto de linhas sem correspondência.

Junção Externa Direita

Uma junção externa direita mantém todas as linhas da tabela direita e apenas as linhas correspondentes da esquerda. O resultado pode ter menos linhas que a tabela esquerda se a tabela direita for menor.

Além do tipo de junção, dois outros fatores causam perda inesperada de linhas: chaves duplicadas na tabela direita e incompatibilidade de tipos de dados. Quando a tabela direita tem chaves duplicadas, uma junção externa esquerda multiplica as linhas — cada correspondência adiciona uma linha, então o resultado pode ter mais linhas que a tabela esquerda. Mas se você aplicar um filtro ou remover duplicatas após a mescla, a contagem de linhas cai. Incompatibilidades de tipos de dados fazem com que as chaves de mescla nunca correspondam, então uma junção interna retorna zero linhas enquanto uma junção externa esquerda retorna todas as linhas esquerdas com nulos.

Passos para Diagnosticar e Corrigir a Contagem de Linhas da Mescla

Siga estes passos em ordem. Após cada passo, verifique a contagem de linhas no painel de visualização do Power Query no canto inferior esquerdo.

  1. Verifique o tipo de junção na caixa de diálogo Mesclar
    Vá para Página Inicial > Mesclar Consultas. Na caixa de diálogo Mesclar, observe a lista suspensa Tipo de Junção. Se estiver definido como Interna, Anti Esquerda ou Externa Direita, altere para Externa Esquerda (o padrão). A Externa Esquerda preserva todas as linhas da tabela esquerda. Clique em OK e verifique a contagem de linhas.
  2. Remova chaves duplicadas da tabela direita antes de mesclar
    Chaves duplicadas na tabela direita fazem com que a mescla produza mais linhas que a tabela esquerda. Para corrigir, selecione a consulta direita no painel Consultas. Selecione a coluna ou colunas de chave. Vá para Página Inicial > Remover Linhas > Remover Duplicatas. Agora execute novamente a mescla. A contagem de linhas deve corresponder à tabela esquerda.
  3. Verifique espaços iniciais ou finais nas colunas de chave
    Em ambas as tabelas, selecione a coluna de chave. Vá para Transformar > Formatar > Aparar para remover espaços iniciais e finais. Em seguida, vá para Transformar > Formatar > Limpar para remover caracteres não imprimíveis. Execute novamente a mescla.
  4. Garanta tipos de dados correspondentes nas colunas de chave
    Em ambas as tabelas, selecione a coluna de chave. Observe o ícone de tipo de dados no cabeçalho da coluna (123 para número, ABC para texto, calendário para data). Ambas as colunas de chave devem ter o mesmo tipo de dados. Se diferirem, clique no ícone de tipo de dados e escolha o tipo correspondente. Tipos Texto e Número nunca correspondem, mesmo que os valores pareçam idênticos.
  5. Use uma junção Anti Esquerda para identificar chaves ausentes
    Crie uma nova mescla com as mesmas duas tabelas, mas defina o Tipo de Junção como Anti Esquerda. Isso retorna apenas as linhas da tabela esquerda que não têm correspondência na tabela direita. Examine essas linhas para entender por que as chaves não correspondem — procure espaços, maiúsculas/minúsculas diferentes ou valores ausentes.
  6. Verifique filtros aplicados após a etapa de mescla
    No painel Etapas Aplicadas à direita, clique em cada etapa após a mescla. Procure etapas chamadas Linhas Filtradas ou Duplicatas Removidas. Se existir alguma etapa de filtro após a mescla, ela pode estar descartando linhas. Exclua ou modifique a etapa de filtro para restaurar a contagem de linhas esperada.

ADVERTISEMENT

Se a Mescla do Power Query Ainda Retornar Menos Linhas

A mescla produz mais linhas que o esperado, não menos

Este é o problema oposto, mas geralmente a causa raiz da perda de linhas após etapas adicionais. Se a tabela direita tiver chaves duplicadas, a mescla multiplica as linhas. Você pode então adicionar uma etapa Remover Duplicatas para voltar à contagem de linhas da tabela esquerda, mas isso pode descartar linhas involuntariamente. Em vez disso, remova duplicatas da tabela direita antes da etapa de mescla.

Valores nulos aparecem nas colunas mescladas para todas as linhas

Quando cada linha no resultado mesclado mostra valores nulos para as colunas da tabela direita, as chaves de junção nunca corresponderam. A causa mais comum é uma incompatibilidade de tipo de dados — por exemplo, uma coluna de chave é Texto e a outra é Número Inteiro. Altere ambas para o mesmo tipo. Outra causa é que a tabela direita está vazia. Verifique a contagem de linhas da tabela direita no painel Consultas.

A contagem de linhas muda após atualizar a consulta

Se os dados de origem mudarem entre as atualizações, a contagem de linhas da mescla pode mudar. Por exemplo, novas linhas adicionadas à tabela esquerda podem ter chaves que não existem na tabela direita. Com uma junção Externa Esquerda, essas linhas ainda aparecem. Com uma junção Interna, elas são descartadas. Para manter todas as linhas da tabela esquerda, use a junção Externa Esquerda. Para diagnosticar, atualize a consulta e verifique imediatamente a contagem de linhas no painel de visualização antes de aplicar quaisquer etapas adicionais.

Junção Externa Esquerda vs Junção Interna: Principais Diferenças

Item Junção Externa Esquerda Junção Interna
Linhas da tabela esquerda Todas as linhas preservadas Apenas linhas com correspondência na tabela direita
Linhas da tabela direita Apenas linhas correspondentes, nulos para não correspondentes Apenas linhas correspondentes
Contagem de linhas do resultado vs tabela esquerda Igual ou maior se a tabela direita tiver duplicatas Igual ou menor
Caso de uso Manter todos os dados da esquerda, adicionar informações relacionadas da direita Manter apenas registros que existem em ambas as tabelas

Agora você pode identificar por que uma mescla do Power Query retorna menos linhas que o esperado. Comece verificando o tipo de junção — mude para Externa Esquerda se precisar de todas as linhas da tabela esquerda. Em seguida, remova duplicatas da tabela direita e verifique os tipos de dados nas colunas de chave. Para problemas persistentes, use uma junção Anti Esquerda para isolar linhas sem correspondência. Como dica avançada, crie um parâmetro que armazene o nome do tipo de junção e referencie-o na caixa de diálogo de mescla para alternar rapidamente entre os tipos de junção durante os testes.

ADVERTISEMENT