LuckyTemplates Power Query: removendo linhas duplicadas

Neste blog, mostrarei como remover linhas duplicadas no LuckyTemplates Power Query com base nas condições. Você pode assistir ao vídeo completo deste tutorial na parte inferior deste blog.

Este exemplo é de uma pergunta que foi levantada no . O membro tem dados transacionais e deseja remover linhas que se anulam.

Existem dois tipos transacionais distintos, um para entrada e outro para saída. Ela também adicionou contagem de movimento. E com base nisso, ela formulou três cenários.

LuckyTemplates Power Query: removendo linhas duplicadas

O cenário um é baseado em duas linhas. Se eles se cancelam, ambas as linhas devem ser removidas. Se não for esse o caso, ambas as linhas devem ser mantidas.

Os cenários dois e três são baseados em uma combinação de linhas, em parte cancelando uma à outra. Essas linhas devem ser removidas primeiro a entrar, primeiro a sair, para que apenas as últimas transações recebidas sejam mantidas.

Basicamente, estamos repetindo a mesma lógica várias vezes. Devemos ser capazes de projetar uma única abordagem para atender a todos esses cenários.

Algumas das coisas que vamos fazer são adicionar uma coluna com quantidades absolutas e agrupar por “adicionar uma coluna de saldo de quantidade” e uma tabela aninhada usando a opção “todas as linhas”. Também transformaremos essas tabelas aninhadas, classificaremos o tipo de movimento e a data de lançamento, criaremos um total acumulado e manteremos apenas as linhas com base em uma condição.

Eu classifiquei isso em um nível intermediário porque a maioria das transformações que podemos fazer aqui é usando a interface do usuário. Dito isso, vamos ao Power Query do LuckyTemplates.

Índice

Adicionando coluna com quantidades absolutas no Power Query

Começaremos adicionando uma coluna com quantidades absolutas. Selecione a coluna Quantidade e , em seguida, na faixa ou guia Adicionar coluna , vá para Científico e clique em Valor absoluto .

LuckyTemplates Power Query: removendo linhas duplicadas

Vou renomear esta coluna na barra de fórmulas.

LuckyTemplates Power Query: removendo linhas duplicadas

Agrupar por índice de ID e quantidade absoluta

Agora podemos agrupar por Índice de ID e Quantidade Absoluta. Selecione ID Index , mantenha pressionada a tecla shift ou control para fazer uma seleção múltipla e clique em Abs qty (quantidade absoluta).

LuckyTemplates Power Query: removendo linhas duplicadas

Você encontrará Agrupar por na guia Transformar.

LuckyTemplates Power Query: removendo linhas duplicadas

Mas você também pode encontrá-lo na guia Início.

LuckyTemplates Power Query: removendo linhas duplicadas

Clique nele e agora vamos adicionar uma nova coluna. Não é uma “contagem”, mas vai ser a “soma” da quantidade. Então, vamos renomeá-lo para Qty (quantity) Balance . Será uma soma da coluna de quantidade. Em seguida, adicionaremos outra agregação, mas será especial, então selecionaremos All Rows . Vamos também dar um nome a esta coluna ( AllRows ). Em seguida, pressione OK.

LuckyTemplates Power Query: removendo linhas duplicadas

Se clicarmos no espaço em branco da tabela, veremos uma visualização da tabela aninhada abaixo. Vemos que as quantidades dessa tabela aninhada se anulam e o saldo da quantidade é zero.

LuckyTemplates Power Query: removendo linhas duplicadas

Se olharmos para a próxima tabela aninhada (clique para o lado no espaço em branco da próxima linha), veremos que a coluna de quantidade não se cancela e um saldo de quantidade é maior que zero.

LuckyTemplates Power Query: removendo linhas duplicadas

Vamos adicionar uma coluna personalizada para que possamos usá-la para nossas transformações de tabelas aninhadas posteriormente. Então, selecione Adicionar coluna personalizada .

LuckyTemplates Power Query: removendo linhas duplicadas

Vamos renomear essa coluna para Transformações e adicionaremos zero (0) como espaço reservado. Em seguida, clique em OK.

LuckyTemplates Power Query: removendo linhas duplicadas

Transformando tabelas aninhadas no LuckyTemplates Power Query

Agora estamos prontos para criar a lógica para transformar essas tabelas aninhadas. Mas não queremos escrever um monte deles e não precisamos.

Podemos usar a interface do usuário na maior parte. Se construirmos a lógica para essas transformações em uma consulta separada, o cenário mais elaborado que tivemos foi aquele com três ou quatro linhas.

Agora, se eu clicar do lado direito na última linha, vejo que esta tabela tem quatro linhas. Então, podemos usar isso para construir nossas transformações.

LuckyTemplates Power Query: removendo linhas duplicadas

Clique com o botão direito do mouse na lateral do espaço em branco e selecione Adicionar como nova consulta .

LuckyTemplates Power Query: removendo linhas duplicadas

Vemos que a tabela aninhada foi expandida e adicionada como uma nova consulta e podemos usar isso para criar a lógica de que precisamos.

LuckyTemplates Power Query: removendo linhas duplicadas

Classificando o tipo de movimento e a data de lançamento

Agora, a primeira coisa que precisamos fazer é classificar em tipo de movimento . Vamos escolher descendente . Desta forma, as transações de saída estarão sempre no topo.

LuckyTemplates Power Query: removendo linhas duplicadas

A seguir, classificaremos a Data de Lançamento como crescente , certificando-se de que, se omitirmos linhas, sempre será feito de acordo com o princípio FIFO (primeiro a entrar, primeiro a sair).

LuckyTemplates Power Query: removendo linhas duplicadas

Criando um total corrente

Para identificar as linhas que vamos remover, vou adicionar um total em execução para desabilitar e podemos usar um List.FirstN para essa tarefa. Esta função cria uma lista com base em outra lista, onde os itens principais são mantidos com base em um número específico ou em um critério.

LuckyTemplates Power Query: removendo linhas duplicadas

Voltemos à nossa consulta. Precisamos de duas coisas para List.FirstN. Primeiro, precisamos dessa lista, e essa lista é nossa coluna Quantidade . Se eu clicar com o botão direito do mouse no cabeçalho da coluna Quantity, teremos a opção de Add as NewQuery .

LuckyTemplates Power Query: removendo linhas duplicadas

E aqui vemos o código que precisamos para gerar essa lista. Na etapa aplicada, você pode ver que ela aponta para a última etapa e identifica a coluna nesses colchetes.

LuckyTemplates Power Query: removendo linhas duplicadas

A segunda parte que precisamos para List.FirstN é um número para identificar quantos números manter dessa lista. Podemos usar o índice para isso, então vou adicionar uma coluna de índice de um (1) para esta linha.

LuckyTemplates Power Query: removendo linhas duplicadas

Portanto, para o número 1, ele manterá o número da primeira linha da coluna Quantidade e assim por diante. E agora podemos resumir isso.

LuckyTemplates Power Query: removendo linhas duplicadas

Vamos adicionar uma coluna personalizada e chamá-la de Running Total . Usamos List.FirstN aqui e podemos ver que o primeiro parâmetro foi essa lista, a coluna Quantity. Precisamos apontar para a última etapa, e essa última etapa é o Índice adicionado .

LuckyTemplates Power Query: removendo linhas duplicadas

Identificamos a coluna que queremos, e essa é a nossa coluna Quantidade. Nossa contagem está na coluna Índice.

LuckyTemplates Power Query: removendo linhas duplicadas

Agora ele retorna uma lista. Se clicarmos ao lado no espaço em branco, podemos ver o conteúdo dessa lista. Para o primeiro registro, ele manteve apenas a linha superior dessa lista. Para o segundo registro, manteve as duas primeiras linhas.

LuckyTemplates Power Query: removendo linhas duplicadas

Agora tudo o que precisamos fazer é somar essas quantidades e podemos usar Lists.Sum para fazer isso. Vou adicionar isso na barra de fórmulas. E também vou colocar Type .

LuckyTemplates Power Query: removendo linhas duplicadas

Filtrando linhas com base em uma condição

Com esse total acumulado, podemos identificar as linhas que queremos manter. Queremos apenas manter as linhas maiores que zero, então vamos adicionar uma condição de filtro.

LuckyTemplates Power Query: removendo linhas duplicadas

Agora podemos remover nossas colunas auxiliares. Selecione Índice e Total acumulado e clique em Remover colunas.

LuckyTemplates Power Query: removendo linhas duplicadas

No Editor Avançado, agora podemos copiar o código que criamos. Abro o Advanced Editor , e podemos ver que esta é a nossa etapa dividida. Então, podemos selecionar e copiar tudo abaixo disso.

LuckyTemplates Power Query: removendo linhas duplicadas

Agora vamos voltar à nossa consulta original. Novamente, abra o Editor Avançado. E em vez do espaço reservado, vamos para uma nova linha. Vou usar a expressão “ let ” porque ela pode capturar valores de cálculos intermediários em variáveis. Então, “deixe” e depois vá para uma nova linha e cole minhas transformações. Também vou declarar Type .

LuckyTemplates Power Query: removendo linhas duplicadas

O código destacado acima aponta para nossa tabela aninhada expandida, que é colocada na coluna Todas as linhas. Então, vou apontar para isso, substituindo este código destacado por AllRows .

Portanto, nossa coluna de transformação agora possui tabelas aninhadas. Construímos nossa consulta com base na última linha, certo? E isso continha quatro linhas quando começamos e continha apenas duas. Também temos aquelas quantidades balanceadas com zero, certo? E agora tem uma mesa vazia.

LuckyTemplates Power Query: removendo linhas duplicadas

Podemos removê-los filtrando na coluna Saldo de quantidade. Não queremos que o saldo da quantidade seja igual a zero.

LuckyTemplates Power Query: removendo linhas duplicadas

E então, vou selecionar minha coluna de transformação e remover outras colunas. Agora posso expandir minhas tabelas aninhadas de transformação. Não use o nome da coluna original como prefixo e pressione OK.

LuckyTemplates Power Query: removendo linhas duplicadas

Na guia Transform, selecione Data Type e pronto. E é assim que você limpa os dados transacionais.


Fundamentos não dinâmicos e dinâmicos no LuckyTemplates – Revisão do Editor de consultas
Minhas dicas práticas ao usar o editor avançado do LuckyTemplates
Transformações avançadas no LuckyTemplates

Conclusão

Neste tutorial, mostrei como limpar dados transacionais, removendo especificamente linhas duplicadas. Essa é uma ótima técnica que você pode usar ao utilizar o LuckyTemplates Power Query.

Eu espero que você tenha gostado deste. Assista ao tutorial em vídeo completo abaixo para obter mais detalhes. Confira também os links abaixo para obter mais conteúdo relacionado ao LuckyTemplates Power Query Editor.

Saúde!

melissa

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.