Compartilhar via


Agrupar ou resumir linhas

No Power Query, é possível agrupar valores de diversas linhas em um único valor. Basta agrupar as linhas de acordo com os valores em uma ou mais colunas. Existem dois tipos de operações de agrupamento para escolher:

  • Agrupamentos de colunas.

  • Agrupamentos de linha.

Neste tutorial, a tabela de exemplo a seguir será usada.

Exemplo de tabela inicial.

Captura de tela de uma tabela com colunas que mostram Ano (2020), País (EUA, Panamá ou Canadá), Produto (Camisa ou Shorts), Canal de vendas (Online ou Revendedor) e Unidades (vários valores de 55 a 7500)

Onde encontrar o botão "Agrupar por"

O botão Agrupar por pode ser encontrado em três locais:

  • Na guia Página Inicial, no grupo Transformar.

    Captura de tela da faixa Power Query com a opção Agrupar por enfatizada na guia Início.

  • Na guia Transformar, no grupo Tabela.

    Captura de tela da faixa Power Query com a opção Agrupar por enfatizada na guia Transformar.

  • No menu de atalho, quando você clica com o botão direito do mouse para selecionar colunas.

    Captura de tela de uma tabela com a opção Agrupar por enfatizada no menu de atalho.

Usar uma função de agregação para agrupar uma ou mais colunas

Neste exemplo, a meta é resumir o total de unidades vendidas nos níveis de país e canal de vendas. Para realizar a operação "Agrupar por", você usará as colunas País e Canal de vendas.

  1. Selecione Agrupar por na guia Página Inicial.
  2. Escolha a opção Avançado para selecionar várias colunas para agrupar.
  3. Selecione a coluna País.
  4. Clique em Adicionar agrupamento.
  5. Selecione a coluna Canal de vendas.
  6. Em Nome da nova coluna, digite Total de unidades; em Operação, selecione Soma; e em Coluna, selecione Unidades.
  7. Selecione OK

Captura de tela da caixa de diálogo Agrupar por com as colunas agregadas preenchidas.

Essa operação gera a tabela a seguir.

Captura de tela da tabela de saída de exemplo com as colunas País, Canal de Vendas e Total de unidades.

Operações disponíveis

Com o recurso Agrupar por, é possível categorizar as operações disponíveis de duas maneiras:

  • Operação no nível da linha
  • Operação no nível da coluna

Veja na tabela a seguir uma descrição dessas operações.

Nome de operação Categoria Descrição
Sum Operação de coluna Soma todos os valores de uma coluna
Média Operação de coluna Calcula o valor médio de uma coluna
Median Operação de coluna Calcula a mediana de uma coluna
Min Operação de coluna Calcula o valor mínimo de uma coluna
Max Operação de coluna Calcula o valor máximo de uma coluna
Percentil Operação de coluna Calcula o percentil usando um valor de entrada de 0 a 100, de uma coluna
Contar valores distintos Operação de coluna Calcula o número de valores distintos em uma coluna
Contar linhas Operação de linha Calcula o número total de linhas de um determinado grupo
Contar linhas distintas Operação de linha Calcula o número de linhas distintas de um determinado grupo
Todas as linhas Operação de linha Gera todas as linhas agrupadas em um valor de tabela sem agregações

Observação

As operações Contar valores distintos e Percentil estão disponíveis apenas no Power Query Online.

Realizar uma operação para agrupar por uma ou mais colunas

A partir do exemplo original, neste exemplo, você criará uma coluna que contém o total de unidades e duas outras colunas que fornecem o nome e as unidades vendidas para o produto de melhor desempenho, resumidas no nível do país e do canal de vendas.

Captura de tela do exemplo de tabela de saída com operações.

  1. Use estas colunas em Agrupar por:

    • País/região
    • Canal de vendas
  2. Crie duas novas colunas seguindo estas etapas:

    1. Agregue a coluna Unidades com a operação Soma. Dê o nome Total de unidades para a coluna.
    2. Inclua uma nova coluna Produtos com a operação Todas as linhas.

    Captura de tela da caixa de diálogo Agrupar por com uma coluna não agregada.

Após a conclusão da operação, veja que a coluna Produtos apresenta valores [Tabela] dentro de cada célula. Cada valor [Tabela] contém todas as linhas agrupadas pelas colunas País e Canal de vendas da tabela original. É possível selecionar o espaço em branco dentro da célula para ver uma pré-visualização do conteúdo da tabela na parte inferior do diálogo.

Captura de tela do painel de visualização de detalhes da tabela.

Observação

O painel de pré-visualização de detalhes pode não mostrar todas as linhas usadas na operação group-by. Selecione o valor [Tabela] para ver todas as linhas pertencentes à operação group-by correspondente.

Em seguida, é necessário extrair a linha com o valor mais alto na coluna Unidades das tabelas dentro da nova coluna Produtos. Depois, dê o nome Produto de melhor desempenho para a nova coluna.

Extrair informações sobre o produto de melhor desempenho

Na nova coluna Produtos com os valores de [Tabela], crie uma coluna personalizada na guia Adicionar coluna na faixa de opções e selecione Coluna personalizada no grupo Geral.

Captura de tela da faixa Power Query com a opção Coluna personalizada enfatizada na guia Adicionar coluna.

Dê o nome Produto de melhor desempenho à nova coluna. Insira a fórmula Table.Max([Products], "Units" ) em Fórmula de coluna personalizada.

Captura de tela da caixa de diálogo Coluna personalizada com a fórmula para Table.Max inserida.

O resultado dessa fórmula cria uma coluna com valores [Registro], que são essencialmente uma tabela com apenas uma linha. Esses registros contêm a linha com o valor máximo da coluna Unidades de cada valor [Tabela] na coluna Produtos.

Captura de tela do resultado da fórmula de coluna personalizada com Table.Max.

Com esta nova coluna Produto de melhor desempenho que contém valores [Registro], você pode selecionar o ícone de expansão , selecionar os campos Produto e Unidades e então selecionar OK.

Captura de tela da operação de expansão para obter o valor do registro na coluna Produto com o melhor desempenho.

Depois de remover a coluna Produtos e definir o tipo de dados para ambas as colunas recém-expandidas, o resultado será semelhante à imagem a seguir.

Captura de tela da tabela final com todas as transformações.

Agrupamento difuso

Observação

O recurso está disponível apenas no Power Query Online.

Para demonstrar como fazer um "agrupamento difuso", veja o exemplo de tabela mostrado na imagem a seguir.

Captura de tela de uma tabela com nove linhas de verbetes que contêm várias grafias e capitalizações do nome Miguel e William.

O objetivo do agrupamento difuso é realizar uma operação group-by que usa um algoritmo de correspondência aproximado para cadeias de caracteres de texto. O Power Query usa o algoritmo de similaridade Jaccard para medir a semelhança entre pares de instâncias. Em seguida, aplica o clustering hierárquico aglomerativo para agrupar instâncias. A imagem a seguir contém o resultado esperado, em que a tabela é agrupada pela coluna Pessoa.

Captura de tela mostrando entradas para Pessoa como Miguel e Mike e Frequência como 3 e 2, respectivamente.

Para fazer o agrupamento difuso, siga as mesmas etapas descritas anteriormente neste artigo. A única diferença é que, desta vez, na caixa de diálogo Agrupar por, marque a caixa de seleção Usar agrupamento difuso.

Captura de tela da caixa de seleção Agrupamento difuso enfatizada na caixa de diálogo Agrupar por.

Em cada grupo de linhas, o Power Query escolhe a instância mais frequente como "canônica". Se várias instâncias ocorrerem com a mesma frequência, o Power Query escolherá a primeira. Depois de clicar em OK na caixa de diálogo Agrupar por, você receberá o resultado esperado.

Captura de tela de exemplo de tabela final com agrupamento difuso sem tabela de transformação.

No entanto, você tem mais controle sobre a operação de agrupamento difuso com a expansão das Opções de agrupamento difuso.

Captura de tela do diálogo Agrupar por com as opções de Agrupamento difuso enfatizadas.

Confira as opções disponíveis para agrupamento difuso:

  • Limite de similaridade (opcional): indica a semelhança que dois valores precisam ter para serem agrupados. A configuração mínima de zero (0) faz com que todos os valores sejam agrupados. A configuração máxima de 1 só permite que os valores que correspondem exatamente sejam agrupados. O padrão é 0,8.
  • Ignorar maiúsculas e minúsculas: maiúsculas e minúsculas serão ignoradas quando cadeias de caracteres de texto são comparadas. Por padrão, essa opção é ativada.
  • Agrupar combinando partes de texto: o algoritmo tenta combinar partes de texto (como combinar Micro e soft em Microsoft) para agrupar valores.
  • Mostrar pontuações de similaridade: mostra as pontuações de similaridade entre os valores de entrada e os valores representantes calculados após o agrupamento difuso. Exige a inclusão de uma operação como Todas as linhas para mostrar essas informações em um nível linha por linha.
  • Tabela de transformação (opcional): Você pode selecionar uma tabela de transformação que mapeia valores (como mapear MSFT para Microsoft) para agrupá-los.

Nesse exemplo, a tabela de transformação é usada para demonstrar como os valores podem ser mapeados. e tem duas colunas:

  • De: a cadeia de caracteres de texto a ser pesquisada na tabela.
  • Para: a cadeia de caracteres de texto a ser usada para substituir a cadeia de caracteres de texto na coluna De.

Veja na imagem a seguir a tabela de transformação usada no exemplo.

Captura de tela da tabela mostrando valores De Mike e William, e valores Até Miguel e Bill.

Importante

É importante que a tabela de transformação tenha as mesmas colunas e nomes de coluna mostrados na imagem anterior (eles devem ser rotulados como "De" e "Para"). Caso contrário, o Power Query não reconhece a tabela como uma tabela de transformação.

Volte à caixa de diálogo Agrupar por, expanda Opções de agrupamento difuso, altere a operação de Linhas de contagem para Todas as linhas, marque a opção Mostrar pontuações de similaridade e selecione a Tabela de transformação no menu suspenso.

Captura de tela de menu suspenso de tabela de transformação de exemplo de agrupamento difuso.

Depois de selecionar a tabela de transformação, selecione OK. O resultado dessa operação fornece as seguintes informações:

Captura de tela de exemplo de tabela final com agrupamento difuso com a tabela de transformação.

Neste exemplo, a opção Ignorar maiúsculas e minúsculas está marcada; portanto, os valores na coluna De da Tabela de transformação são usados para buscar a cadeia de caracteres de texto sem considerar maiúsculas e minúsculas. Essa operação de transformação ocorre primeiro e, em seguida, a operação de agrupamento difuso é realizada.

A pontuação de similaridade também é mostrada no valor da tabela ao lado da coluna "Pessoa", o que reflete exatamente como os valores foram agrupados e suas respectivas pontuações de similaridade. Você pode expandir essa coluna, se necessário, ou usar os valores das novas colunas Frequência para outros tipos de transformações.

Observação

Ao agrupar por várias colunas, a tabela de transformação realizará a operação de substituição em todas as colunas se a substituição do valor aumentar a pontuação de similaridade.

Para obter mais informações sobre como as tabelas de transformação funcionam, vá para Preceitos da tabela de transformação.

Confira também

Adicionar uma coluna personalizada
Remover duplicatas