Partilhar via


Agrupar ou resumir linhas

No Power Query, pode agrupar valores em várias linhas num único valor, agrupando as linhas de acordo com os valores de uma ou mais colunas. Pode escolher entre dois tipos de operações de agrupamento:

  • Agrupamentos de colunas.

  • Agrupamentos de filas.

Para este tutorial, está a usar a tabela de exemplo seguinte.

Tabela inicial de exemplo.

Captura de ecrã de uma tabela com colunas que mostram o Ano (2020), País (EUA, Panamá ou Canadá), Produto (Camisola ou Calções), Canal de Vendas (Online ou Revendedor) e Unidades (vários valores de 55 a 7500)

Onde encontrar o botão Agrupar por

Pode encontrar o botão Agrupar por em três locais:

  • No separador Casa , no grupo Transformar .

    Captura de ecrã da fita Power Query com a opção Agrupar por opção realçada no separador Home.

  • No separador Transformar , no grupo da Tabela .

    Captura de tela da barra de ferramentas Power Query com a opção Agrupar por realçada no separador Transformar.

  • No menu de atalho, quando clicas com o botão direito para selecionar colunas.

    Captura de ecrã de uma tabela com a opção Agrupar por destaque no menu de atalhos.

Use uma função agregada para agrupar por uma ou mais colunas

Neste exemplo, o seu objetivo é resumir o total de unidades vendidas ao nível do país e do canal de vendas. Utiliza-se as colunas País e Canal de Vendas para realizar o agrupamento por operação.

  1. Selecione Agrupar por no separador 'Home'.
  2. Seleciona a opção Avançado , para poderes selecionar várias colunas para agrupar.
  3. Selecione a coluna Country .
  4. Selecionar Adicionar agrupamento.
  5. Selecione a coluna Canal de Vendas .
  6. Em Novo nome da coluna, introduza Unidades Totais, em Operação selecione Soma, e em Coluna selecione Unidades.
  7. Selecione OK

Captura de ecrã da caixa de diálogo

Esta operação apresenta-te a seguinte tabela.

Captura de ecrã 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 Agrupar por funcionalidade, as operações disponíveis podem ser categorizadas de duas formas:

  • Funcionamento ao nível das filas
  • Funcionamento ao nível da coluna

A tabela seguinte descreve cada uma destas operações.

Nome da Operação Categoria Description
Soma Operação da coluna Soma todos os valores de uma coluna
Média Operação da coluna Calcula o valor médio a partir de uma coluna
Mediana Operação da coluna Calcula a mediana a partir de uma coluna
Mín. Operação da coluna Calcula o valor mínimo a partir de uma coluna
Máx. Operação da coluna Calcula o valor máximo a partir de uma coluna
Percentil Operação da coluna Calcula o percentil, usando um valor de entrada de 0 a 100, a partir de uma coluna
Contar valores distintos Operação da coluna Calcula o número de valores distintos a partir de uma coluna
Contar linhas Operação em fila Calcula o número total de linhas de um dado grupo
Contar as linhas distintas Operação em fila Calcula o número de linhas distintas de um dado grupo
Todas as linhas Operação em fila Produz todas as linhas agrupadas num 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 cria-se uma coluna contendo o total de unidades e outras duas colunas que indicam o nome e as unidades vendidas do produto de melhor desempenho, resumidas ao nível do país e do canal de vendas.

Captura de ecrã da tabela de saída de exemplo com operações.

  1. Utilize as seguintes colunas como colunas de Agrupar por:

    • Country
    • Canal de Vendas
  2. Crie duas novas colunas seguindo estes passos:

    1. Agrega a coluna Unidades usando a operação Soma . Nomeie esta coluna Unidades Totais.
    2. Adicione uma nova coluna de Produtos usando a operação Todas as linhas .

    Captura de ecrã do diálogo 'Agrupar por' com uma coluna não-agrupada.

Depois dessa operação estar concluída, repare como a coluna Products tem valores [Tabela] dentro de cada célula. Cada valor [Tabela] contém todas as linhas que foram agrupadas pelas colunas de País e Canal de Vendas da sua tabela original. Pode selecionar o espaço em branco dentro da célula para ver uma pré-visualização do conteúdo da tabela no final do diálogo.

Captura de ecrã do painel de pré-visualização dos detalhes da tabela.

Observação

O painel de pré-visualização de detalhes pode não mostrar todas as linhas usadas na operação de agrupamento por grupo. Pode selecionar o valor [Tabela] para ver todas as linhas correspondentes à operação de agrupamento por correspondência.

De seguida, tens de extrair a linha que tem o valor mais alto na coluna Unidades das tabelas dentro da nova coluna Produtos , e chamar a essa nova coluna produto de melhor desempenho.

Extrair a informação do produto com melhor desempenho

Com a nova coluna Produtos com [Tabela] valores, cria uma nova coluna personalizada indo ao separador Adicionar Coluna no ribbon e selecionando Coluna Personalizada no grupo Geral.

Captura de ecrã do friso do Power Query com a opção da coluna Personalizada destacada no separador Adicionar coluna.

Nomeia a tua nova coluna produto de melhor desempenho. Introduza a fórmula Table.Max([Products], "Units" ) em Fórmula da coluna Personalizada.

Captura de ecrã do diálogo da coluna Personalizada com a fórmula do Table.Max inserida.

O resultado dessa fórmula cria uma nova coluna com valores [Record]. Estes valores de registo são essencialmente uma tabela com apenas uma linha. Estes registos contêm a linha com o valor máximo para a coluna Unidades de cada valor [Tabela] na coluna Produtos .

Captura de ecrã do resultado da fórmula da coluna personalizada com o Table.Max.

Com esta nova coluna de produto Top performer que contém valores [Record], pode selecionar o ícone de expansão, selecionar os campos Produto e Unidades, e depois escolher ok.

Captura de ecrã da operação de expansão para o valor do registo na coluna do produto com melhor desempenho.

Depois de remover a sua coluna Produtos e definir os tipos de dados para ambas as colunas recém-expandidas, o seu resultado assemelha-se à imagem seguinte.

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

Agrupamento difuso

Observação

A seguinte funcionalidade está disponível apenas no Power Query Online.

Para demonstrar como fazer "agrupamento fuzzy", considere a tabela de exemplo mostrada na imagem seguinte.

Captura de ecrã de uma tabela com nove linhas de entradas que contêm várias grafias e capitalizações dos nomes Miguel e William.

O objetivo do agrupamento fuzzy é realizar uma operação de agrupamento por grupo que utilize um algoritmo aproximado de correspondência para cadeias de texto. O Power Query utiliza o algoritmo de similaridade de Jaccard para medir a semelhança entre pares de instâncias. Depois, aplica agrupamento hierárquico aglomerativo para agrupar instâncias juntas. A imagem seguinte mostra o resultado que espera, onde a tabela está agrupada pela coluna Pessoa .

Captura de ecrã de uma tabela mostrando entradas para Person como Miguel e Mike, e Frequency como 3 e 2, respetivamente.

Para fazer o agrupamento fuzzy, executa os mesmos passos descritos anteriormente neste artigo. A única diferença é que desta vez, na caixa de diálogo Agrupar por, seleciona a caixa de verificação Usar agrupamento fuzzy.

Captura de ecrã da caixa de seleção de agrupamento Fuzzy destacada na caixa de diálogo Agrupar por.

Para cada grupo de linhas, o Power Query escolhe a instância mais frequente como a instância "canónica". Se ocorrerem múltiplas instâncias com a mesma frequência, o Power Query escolhe a primeira. Depois de selecionares OK na caixa de diálogo Agrupar por, obténs o resultado que esperavas.

Captura de ecrã da tabela final de amostra de agrupamento Fuzzy, sem tabela de transformação.

No entanto, tens mais controlo sobre a operação de agrupamento fuzzy ao expandir as opções de grupo Fuzzy.

Captura de ecrã do grupo por diálogo, com as opções de grupo Fuzzy enfatizadas.

As seguintes opções estão disponíveis para agrupamento fuzzy:

  • Limiar de similaridade (opcional): Esta opção indica quão semelhantes dois valores devem ser para serem agrupados. A definição mínima de zero (0) faz com que todos os valores sejam agrupados. A definição máxima de 1 só permite agrupar valores que correspondem exatamente. O padrão é 0,8.
  • Ignorar o caso: Quando as cadeias de texto são comparadas, o caso é ignorado. Esta opção está ativada por predefinição.
  • Agrupar combinando partes de texto: O algoritmo tenta combinar partes de texto (como combinar Micro e soft na Microsoft) para agrupar valores.
  • Mostrar pontuações de similaridade: Mostrar pontuações de similaridade entre os valores de entrada e os valores representativos calculados após agrupamento fuzzy. Requer a adição de uma operação, como Todas as linhas, para mostrar esta informação ao nível de linha a linha.
  • Tabela de transformações (opcional): Pode selecionar uma tabela de transformações que mapeia valores (como mapear MSFT para Microsoft) para os agrupar.

Neste exemplo, é usada uma tabela de transformação para demonstrar como os valores podem ser mapeados. A tabela de transformação tem duas colunas:

  • De: A cadeia de texto a procurar na sua tabela.
  • Para: A cadeia de texto a usar para substituir a cadeia de texto na coluna From .

A imagem seguinte mostra a tabela de transformações usada neste exemplo.

Captura de ecrã da tabela mostrando Dos valores de Mike e William, e Para valores de Miguel e Bill.

Importante

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

Volte para a caixa de diálogo Agrupar por, expanda as opções de agrupamento Fuzzy, altere a operação de Contar linhas para Todas as linhas, ative a opção Mostrar pontuações de similaridade e depois selecione o menu suspenso da Tabela de Transformação.

Captura de ecrã do menu suspenso da tabela de transformação de agrupamento difuso.

Depois de selecionares a tabela de transformação, seleciona OK. O resultado dessa operação dá-lhe a seguinte informação:

Captura de ecrã da tabela final de exemplo de agrupamento fuzzy com tabela de transformação.

Neste exemplo, a opção Ignorar caso estava ativada, pelo que os valores na coluna De da tabela de transformação são usados para procurar a cadeia de texto sem considerar o caso da cadeia. Esta operação de transformação ocorre primeiro, e depois é realizada a operação de agrupamento fuzzy.

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

Observação

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

Para mais informações sobre como funcionam as tabelas de transformação, consulte os preceitos da tabela de transformação.