Power BI · 2026-10-09

Unpivot no Power Query: transforme metas em linhas

Use unpivot no Power Query para transformar metas mensais em linhas. Preserve chaves, trate campos nulos e teste novos meses sem misturar totais.

Unpivot no Power Query: transforme metas em linhas

Unpivot no Power Query: transforme metas em linhas

Unpivot no Power Query transforma colunas de uma tabela em pares de atributo e valor. Uma planilha de metas com um mês em cada coluna pode virar uma base com vendedor, mês e meta em linhas. A transformação facilita o modelo, mas exige preservar as chaves e impedir que totais ou observações sejam tratados como períodos.

1. Identifique o problema que unpivot no Power Query resolve

Considere uma planilha hipotética com VendedorID, Ano, Janeiro, Fevereiro e Março. Cada linha representa as metas de um vendedor em um ano. Essa estrutura é confortável para preencher no Excel, mas deixa o período distribuído entre nomes de colunas.

A documentação de unpivot da Microsoft, consultada em 9 de outubro de 2026, explica a transformação de colunas em atributo e valor. Neste caso, o atributo será o mês e o valor será a meta. O objetivo é mudar a organização do dado, preservando os valores existentes. Não há necessidade de inventar metas para meses que não foram informados.

2. Declare as colunas que identificam cada registro

Escolha as colunas que precisam continuar na base: identificador do vendedor, ano e versão do plano, quando existir. Use identificadores estáveis, em vez de depender apenas do nome. Dois vendedores podem ter nomes semelhantes, e uma mesma pessoa pode aparecer em planos diferentes.

Em um exemplo hipotético, V1 tem uma meta inicial e uma revisão no mesmo ano. Se a versão for descartada, as metas poderão ser somadas como se fossem compromissos adicionais. Defina qual versão é usada no relatório e mantenha as anteriores para conferência. A granularidade final deve ser vendedor, período e versão, com uma regra clara para escolher o plano vigente.

3. Remova subtotais e campos que não são medidas

Antes de transformar, identifique linhas de total, cabeçalhos repetidos e notas inseridas no meio da planilha. A coluna Total Anual não deve virar um mês. Tampouco uma observação textual pode entrar no campo de valor junto com números.

Em uma amostra hipotética, janeiro tem cem, fevereiro tem duzentos e o total anual parcial tem trezentos. Transformar as três colunas e somar o resultado produziria seiscentos. Separe o total de conferência ou remova-o da tabela analítica depois de validar sua função. Faça essa preparação antes de atribuir tipos, para não esconder problemas de estrutura como erros de conversão numérica.

4. Escolha entre colunas explícitas e demais colunas

Quando o conjunto de meses é fixo, uma lista explícita permite controlar quais colunas serão transformadas. Se novos meses aparecem regularmente, transformar as demais colunas pode incorporá-los sem editar a lista. A escolha depende do contrato de entrada, ou seja, das regras da estrutura recebida.

A função Table.UnpivotOtherColumns preserva as colunas indicadas e transforma as outras. Isso também pode capturar um campo novo de observação, se a origem mudar. Por isso, defina uma verificação dos cabeçalhos permitidos. Flexibilidade de atualização não substitui a validação de quais colunas representam períodos e quais são atributos do plano.

5. Execute a transformação numa amostra controlada

No Editor do Power Query, selecione as colunas que serão preservadas e use a operação de transformar as outras colunas em linhas. Renomeie os campos resultantes para MesOrigem e Meta. Verifique o código gerado para entender exatamente quais colunas ficaram protegidas.

O exemplo em M, linguagem de transformação do Power Query, pressupõe que Fonte já foi limpa e contém apenas chaves e meses. A função abaixo mantém VendedorID e Ano. Se houver uma versão do plano, acrescente-a à lista de colunas preservadas antes de executar.

Table.UnpivotOtherColumns(
    Fonte,
    {"VendedorID", "Ano"},
    "MesOrigem",
    "Meta"
)

6. Converta o atributo em um período inequívoco

O nome Janeiro sozinho não identifica o ano. Combine Ano e o mês correspondente para gerar uma data de referência, como o primeiro dia daquele mês. Use um mapeamento controlado dos nomes de meses ou cabeçalhos que já contenham ano e mês.

Não confie na interpretação automática de textos ambíguos. A documentação de Table.TransformColumnTypes descreve conversão de tipos com cultura definida. Confira a localidade quando datas ou números chegam como texto. Para o modelo, declare que a data representa a meta mensal inteira; ela não significa que todo o objetivo pertence operacionalmente ao primeiro dia.

7. Diferencie zero, nulo e mês não informado

Zero é uma meta numérica informada; nulo representa ausência de valor. A transformação pode não produzir uma linha de valor para uma célula nula. Confira esse comportamento com uma amostra contendo as duas situações, conforme o exemplo oficial de Table.Unpivot.

Se o relatório precisa mostrar todos os meses esperados, prepare uma base de expectativas e compare-a ao resultado transformado. Não substitua todos os nulos por zero apenas para preencher a tabela. Em um exemplo hipotético, zero pode indicar ausência de meta comercial naquele mês, enquanto uma célula vazia pode exigir revisão do planejamento. Mantenha esses significados separados no diagnóstico cadastral.

8. Valide contagem e soma antes de relacionar vendas

Use duas linhas hipotéticas, cada uma com três meses preenchidos, sem nulos. O resultado esperado contém seis linhas de metas. Confira a soma de cada vendedor antes e depois da transformação, usando apenas as colunas mensais válidas.

Teste também duplicidade na combinação de vendedor, período e versão. Não mescle metas mensais a cada venda diária para depois somar o valor repetido. O guia sobre mesclar no Power Query ajuda a identificar multiplicações. Para interpretar resultados agregados, confira também totais em DAX, a linguagem de expressões das medidas do modelo.

9. Teste a chegada de um mês e de um campo novo

Adicione Abril à amostra e execute a atualização. Verifique se ele virou linhas ou permaneceu como coluna, conforme a opção adotada. Depois adicione Observacao para testar se o contrato de entrada detecta uma coluna que não deveria ser transformada.

Essa segunda prova é tão importante quanto a primeira. Uma consulta que aceita qualquer campo novo pode carregar texto como meta ou gerar períodos inválidos. Se o processo consolidar vários arquivos, a análise de combinar arquivos complementa o controle da estrutura. O unpivot resolve a orientação da tabela; ele não corrige sozinho diferenças entre arquivos ou versões.

10. Libere a base com um diagnóstico de exceções

Registre cabeçalhos rejeitados, meses ausentes, valores inválidos e chaves duplicadas. Confira uma revisão de plano e um vendedor sem meta. Esses casos devem produzir uma pendência clara, em vez de desaparecer silenciosamente da base entregue ao relatório.

O modelo editável de Vendas inclui meta por vendedor. A estrutura transformada precisa ser adaptada ao modelo e validada no período correto. Documente as colunas preservadas, o mapeamento dos meses e a regra de versão vigente. Antes de automatizar a carga, confirme que mudanças de cabeçalho e campos nulos não alteram o significado do objetivo comercial.