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!
![](https://static.wixstatic.com/media/efe4c3_e6cb30ad9fa54f10a3f98dae7fa98108~mv2.png/v1/fill/w_886,h_388,al_c,q_85,enc_avif,quality_auto/efe4c3_e6cb30ad9fa54f10a3f98dae7fa98108~mv2.png)
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
)
![](https://static.wixstatic.com/media/efe4c3_b70a29f6cc374d309dc15c291903b3c3~mv2.png/v1/fill/w_886,h_254,al_c,q_85,enc_avif,quality_auto/efe4c3_b70a29f6cc374d309dc15c291903b3c3~mv2.png)
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
)
![](https://static.wixstatic.com/media/efe4c3_c71590783f0541f3b82be5ff6a140635~mv2.png/v1/fill/w_886,h_327,al_c,q_85,enc_avif,quality_auto/efe4c3_c71590783f0541f3b82be5ff6a140635~mv2.png)
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
)
![](https://static.wixstatic.com/media/efe4c3_0bbac01000b24b25bb46611cdbf182c3~mv2.png/v1/fill/w_886,h_112,al_c,q_85,enc_avif,quality_auto/efe4c3_0bbac01000b24b25bb46611cdbf182c3~mv2.png)
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.
![](https://static.wixstatic.com/media/efe4c3_9b80b6d4b4be4f0690a6810b8abdd0f0~mv2.png/v1/fill/w_886,h_184,al_c,q_85,enc_avif,quality_auto/efe4c3_9b80b6d4b4be4f0690a6810b8abdd0f0~mv2.png)
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!💙😍
Comentarios