Ler em inglês

Compartilhar via


Dinamizar colunas

No Power Query, é possível criar uma tabela que contém um valor agregado para cada valor exclusivo em uma coluna. O Power Query agrupa cada valor exclusivo, faz um cálculo de agregação para cada um deles e dinamiza a coluna em uma nova tabela.

Diagrama de colunas dinâmicas.

Diagrama mostrando uma tabela à esquerda com uma coluna e linhas em branco. Uma coluna Atributos contém nove linhas com A1, A2 e A3 repetidos três vezes. Uma coluna Valores contém, de cima para baixo, valores V1 a V9. Com as colunas dinâmicas, uma tabela à direita contém uma coluna e linhas em branco, os valores de Atributos A1, A2 e A3 como cabeçalhos de coluna, a coluna A1 que contém os valores V1, V4 e V7, a coluna A2 que contém os valores V2, V5 e V8 e a coluna A3 que contém os valores V3, V6 e V9.

Imagine uma tabela como a da imagem a seguir.

Tabela original da coluna dinâmica.

Tabela que contém uma coluna País como o tipo de dados Texto, uma coluna Data definida com o tipo de dados Dados e uma coluna Valor definida como o tipo de dados Número inteiro. A coluna País contém EUA nas três primeiras linhas, Canadá nas três linhas seguintes e Panamá nas três últimas linhas. A coluna Data contém uma data na primeira, quarta e sétima linhas, uma segunda data na segunda, quinta e oitava linhas e uma terceira data na terceira, sexta e nona linhas.

Esta tabela contém valores por país e data em uma tabela simples. Neste exemplo, você transformará essa tabela na tabela que tem a coluna de data dinâmica, conforme mostrado na imagem a seguir.

Tabela final de colunas dinâmicas.

Tabela que contém uma coluna País definida no tipo de dados Texto e uma primeira, segunda e terceira colunas de data definidas com o tipo de dados Número inteiro. A coluna País contém EUA na linha 1, Canadá na linha 2 e Panamá na linha 3.

Observação

Durante a operação de colunas dinâmicas, o Power Query classifica a tabela com base nos valores encontrados na primeira coluna, no lado esquerdo da tabela, em ordem crescente.

Dinamizar uma coluna

  1. Selecione a coluna que você deseja tornar dinâmica. Neste exemplo, selecione a coluna Data.

  2. Na guia Transformar do grupo Qualquer coluna, selecione Dinamizar coluna.

    Captura de tela da guia Transformar selecionada, da coluna Data na tabela selecionada e da opção Coluna dinâmica enfatizada.

  3. Na caixa de diálogo Dinamizar coluna, na lista Coluna de valor, selecione Valor.

    Captura de tela da caixa de diálogo Coluna dinâmica com Básico selecionado e a coluna Valor definida como Valor.

    Por padrão, o Power Query tenta fazer uma soma como a agregação, mas é possível selecionar a opção Avançado para ver outras agregações disponíveis.

    Captura de tela da caixa de diálogo Colunas dinâmicas com Avançado selecionado e a lista suspensa Função de valor agregado exibida.

As opções disponíveis são:

  • Não agregar
  • Contagem (tudo)
  • Contagem (não está em branco)
  • Mínimo
  • Máximo
  • Median
  • Soma
  • Média

Colunas dinâmicas que não podem ser agregadas

É possível dinamizar colunas sem agregação ao trabalhar com colunas que não podem ser agregadas ou quando a agregação não é necessária para o que você está tentando fazer. Por exemplo, imagine uma tabela como a imagem a seguir, que tem País, Posição e Produto como campos.

Coluna dinâmica sem agregação.

A tabela com a coluna País contém EUA nas três primeiras linhas, Canadá nas três linhas seguintes e Panamá nas três últimas linhas. A coluna Posição contém Primeiro Lugar na primeira, quarta e sétima linhas, Segundo Lugar na segunda, quinta e oitava linhas e Terceiro Lugar na terceira, sexta e nona linhas.

Digamos que você queira dinamizar a coluna Posição nesta tabela para ter seus valores como novas colunas. Para os valores dessas novas colunas, você usa os valores da coluna Produto. Selecione a coluna Posição e clique em Dinamizar coluna para dinamizar essa coluna.

Captura de tela da tabela com a coluna Posições selecionada e o comando Dinamizar colunas enfatizado na guia Transformar.

Na caixa de diálogo Dinamizar coluna, selecione a coluna Produto como a coluna de valor. Clique no botão de opção Avançado na caixa de diálogo Dinamizar colunas e selecione Não agregar.

Captura de tela da caixa de diálogo Coluna dinâmica com a função Agregar valor definida como Não agregar.

O resultado dessa operação produz o resultado mostrado na imagem a seguir.

Resultado da dinamização de colunas sem agregação.

Tabela que contém as colunas País, Primeiro Lugar, Segundo Lugar e Terceiro Lugar, com a coluna País contendo o Canadá na linha 1, Panamá na linha 2 e EUA na linha 3.

Erros ao usar a opção Não agregar

A opção Não agregar funciona capturando um único valor para que a operação dinâmica seja colocada como o valor para a interseção do par de colunas e linhas. Por exemplo, digamos que você tenha uma tabela como a da imagem a seguir.

Tabela inicial de exemplo de erro de dinamização de coluna sem agregação.

Tabela com colunas País, Data e Valor. A coluna País contém EUA nas três primeiras linhas, Canadá nas três linhas seguintes e Panamá nas três últimas linhas. A coluna Data contém uma única data em todas as linhas. A coluna de valor contém vários números inteiros entre 20 e 785.

Você dinamizará essa tabela usando a coluna Data e usar os valores da coluna Valor. Como essa dinamização faz com que a tabela tenha apenas os valores de País como linhas e de Datas como colunas, você obtém um erro para cada valor de célula única porque haveria várias linhas para cada combinação de País e Data. O resultado desta operação Dinamizar coluna produz os resultados mostrados na imagem a seguir.

Tabela final de exemplo de erro de dinamização de coluna sem agregação.

Observe a mensagem de erro "Expression.Error: havia muitos elementos na enumeração para concluir a operação". Esse erro ocorre porque a operação Não agregar espera apenas um único valor para a combinação de país e data.