No artigo de hoje, o dataholic Rafael Barbosa fez questão de deixar bem explicado o processo de acabar com as colunas duplicadas no Power Query. Vem conferir!

Criar colunas dentro do Power Query é muito mais performático do que utilizar colunas calculadas quando possível, mesmo assim é mais fácil você encontrar uma solução na internet utilizando DAX em uma coluna calculada do que utilizando linguagem M no Power Query. Neste caso quero contar na coluna "Equipamento superior" a quantidade de códigos que existem na minha tabela para identificar valores duplicados e qual a quantidade.
1° - Etapa addCount, agrupa a coluna que você quer contar os itens duplicados com Table.Group e adiciona a coluna "Duplicado", que vai informar a quantidade de vezes que aquele item se repete na tabela.
addCount =
Table.Group(
Etapa_Anterior, //Chama a etapa = Etapa_Anterior
{"Equipamento superior"}, //Seleciona a coluna"Equipamento superior"
{{"Duplicado", Table.RowCount, type number}} //Quantidade de duplicados
)

2° - Etapa Mesclar, agora vamos mesclar a tabela do passo anterior na nossa tabela. Como o nome das colunas utilizadas como chave na hora de mesclar tem o mesmo nome o JoinKind.Inner, traz somente as outras colunas eliminando uma etapa de expandir.
Mesclar =
Table.Join(
Etapa_Anterior, //Chama a etapa = Etapa_Anterior
{"Equipamento superior"}, //Seleciona a coluna"Equipamento superior"
addCount, //Chama a etapa = addCount
{"Equipamento superior"}, //Seleciona a coluna"Equipamento superior"
JoinKind.Inner //Mesclagem do tipo InnerJoin
)

Ou podemos juntar tudo na mesma etapa de duas formas:
Mesclar =
Table.Join(
Etapa_Anterior,
{"Equipamento superior"},
Table.Group(
Etapa_Anterior,
{"Equipamento superior"},
{{"Duplicado", Table.RowCount, type number}}
),
{"Equipamento superior"},
JoinKind.Inner
)
O modo é utilizando o let in, comprando com DAX o let seria como o VAR e o in o RETURN, com isso podemos criar sub etapas dentro de uma etapa, assim fica mais fácil de entender o que foi feito, além de ser um bom modo de ocultar etapas auxiliares. Para baixar o exemplo do artigo clique aqui.
let
addCount =
Table.Group(
Etapa_Anterior,
{"Equipamento superior"},
{{"Duplicado", Table.RowCount, type number}}
)
in
Table.Join(
Etapa_Anterior,
{"Equipamento superior"},
addCount,
{"Equipamento superior"},
JoinKind.Inner
)

Ou se quiser visualizar somente as linhas duplicadas pode utilizar a opção "Manter Duplicados" em Manter Linhas o Power Query vai filtrar somente as linhas duplicadas.

Se esse passo a passo foi útil para você curta e nos diga como podemos ajudar em outras situações. Compartilhe com um amigo que também esteja precisando de uma ajudinha!💙😍
Comments