Pular para o conteúdo
Fynx
Power BI6 min de leitura

crescimento percentual (YoY e MoM) em DAX: como calcular

Crescimento percentual YoY e MoM em DAX: como comparar com o ano e o mês anterior usando inteligência de tempo, DIVIDE e uma boa tabela de datas, com exemplos.

F
Fynx

Comparar com o ano e o mês anterior é o que dá sentido ao número de hoje

Um valor de vendas isolado quase não informa. Cresceu ou caiu? Foi um bom mês? Só a comparação responde, e as duas comparações mais pedidas são o crescimento em relação ao mesmo período do ano passado, o YoY, e em relação ao período anterior, o MoM. São elas que aparecem em toda reunião de resultados e em todo painel executivo. Calcular esses crescimentos em DAX é direto quando você tem uma boa tabela de datas e conhece as funções de inteligência de tempo. Este guia mostra como calcular o crescimento percentual YoY e MoM em DAX, com as funções certas, o cuidado com a divisão e o pré-requisito que faz tudo funcionar: uma tabela de calendário bem construída.

Tudo começa com uma boa tabela de datas relacionada ao fato

Antes de qualquer fórmula, é preciso o alicerce. A inteligência de tempo em DAX depende de uma tabela de datas dedicada, contínua, com uma linha por dia cobrindo todo o período do negócio, marcada como tabela de datas e relacionada ao fato pela coluna de data. Sem isso, funções como SAMEPERIODLASTYEAR não têm sobre o que trabalhar e retornam resultados errados ou vazios. Esse é o erro mais comum de quem tenta calcular YoY e falha: o problema não está na fórmula, está na ausência de um calendário adequado. Com a tabela de datas no lugar, todas as comparações de tempo passam a funcionar de forma limpa. Vale investir nesse alicerce antes de escrever a primeira medida de variação.

O crescimento YoY compara o período atual com o mesmo do ano anterior

Com o calendário pronto, o YoY sai em duas etapas. Primeiro, uma medida que traz o valor do mesmo período no ano passado, usando SAMEPERIODLASTYEAR sobre a coluna de data do calendário:

Vendas Ano Anterior =
CALCULATE ( [Vendas], SAMEPERIODLASTYEAR ( Calendario[Data] ) )

Depois, o crescimento percentual, que é a diferença entre o atual e o anterior dividida pelo anterior. O cuidado essencial aqui é usar DIVIDE, que trata a divisão por zero sem quebrar:

Crescimento YoY % =
DIVIDE ( [Vendas] - [Vendas Ano Anterior], [Vendas Ano Anterior] )

Formatada como percentual, essa medida responde direto: crescemos ou caímos em relação ao mesmo período do ano passado, e quanto. É a comparação que remove o efeito de sazonalidade, porque compara janeiro com janeiro, e não com dezembro.

As funções de inteligência de tempo cobrem cada comparação

ComparaçãoFunção típicaO que traz
Mesmo período ano anteriorSAMEPERIODLASTYEARValor de um ano atrás
Mês anteriorDATEADD com passo de mêsValor do mês anterior
Acumulado no anoTOTALYTDSoma do início do ano até a data
Divisão seguraDIVIDEPercentual sem erro de zero

O crescimento MoM compara com o período imediatamente anterior

O MoM segue a mesma lógica, mudando a função que busca o período anterior. Uma forma flexível é usar DATEADD, que desloca as datas por um passo definido, aqui um mês para trás:

Vendas Mês Anterior =
CALCULATE ( [Vendas], DATEADD ( Calendario[Data], -1, MONTH ) )

E o crescimento, novamente com DIVIDE para segurança:

Crescimento MoM % =
DIVIDE ( [Vendas] - [Vendas Mês Anterior], [Vendas Mês Anterior] )

DATEADD é versátil porque, trocando o passo, você calcula variação por dia, mês, trimestre ou ano com a mesma estrutura. Para o MoM, o passo de menos um mês faz a comparação com o mês imediatamente anterior. Diferente do YoY, o MoM sente a sazonalidade, então dezembro comparado com novembro pode subir só pelo efeito de fim de ano, e vale interpretar com esse contexto em mente.

DIVIDE e a formatação percentual são detalhes que evitam erros

Dois detalhes pequenos fazem diferença grande nessas medidas. O primeiro é usar sempre DIVIDE em vez da barra de divisão comum: quando o período anterior é zero ou vazio, a divisão normal gera erro ou infinito, enquanto DIVIDE devolve um resultado limpo, ou um valor alternativo que você define. Isso evita células com erro no relatório. O segundo é formatar a medida como percentual na própria medida, para o número sair como porcentagem em qualquer visual, sem retrabalho. Com esses cuidados, as medidas de crescimento ficam robustas: não quebram em casos de borda e aparecem sempre bem formatadas. São detalhes que separam uma medida amadora de uma pronta para produção. Para medidas confiáveis e um modelo bem estruturado, veja nossos serviços de Power BI, o guia completo de Power BI para empresas e os dashboards.

Interprete a comparação certa para cada pergunta

Escolher entre YoY e MoM não é só técnico, é de leitura de negócio. O YoY é a comparação que remove sazonalidade e mostra a tendência real de crescimento, ideal para negócios sazonais e para a visão estratégica. O MoM captura o movimento recente, útil para acompanhar de perto a evolução mês a mês, mas precisa ser lido com a sazonalidade em mente para não confundir efeito de calendário com desempenho. Muitos painéis mostram os dois lado a lado, e faz sentido: cada um conta uma parte da história. Entender o que cada comparação revela é tão importante quanto escrever a fórmula certa, porque um crescimento MoM alto por causa da sazonalidade pode enganar quem o lê sem contexto. As duas medidas, bem construídas e bem interpretadas, dão à diretoria a leitura completa.

Perguntas frequentes

O que significam YoY e MoM? YoY, year over year, é o crescimento em relação ao mesmo período do ano anterior, como janeiro contra janeiro. MoM, month over month, é o crescimento em relação ao mês imediatamente anterior. Uma remove sazonalidade, a outra mostra o movimento recente.

Por que minha medida de YoY não funciona? Quase sempre por falta de uma tabela de datas dedicada, contínua e relacionada ao fato. As funções de inteligência de tempo dependem desse calendário. Sem ele, SAMEPERIODLASTYEAR e similares retornam resultados errados ou vazios.

Por que usar DIVIDE em vez da barra de divisão? Porque DIVIDE trata a divisão por zero ou por valor vazio sem gerar erro, devolvendo um resultado limpo ou um valor alternativo. A barra comum produz erro ou infinito quando o período anterior é zero, sujando o relatório.

Como calcular o valor do ano anterior? Com CALCULATE aplicando SAMEPERIODLASTYEAR sobre a coluna de data do calendário. Isso desloca o contexto para o mesmo período um ano atrás, trazendo o valor comparável para a fórmula de crescimento.

Qual a diferença de usar DATEADD? DATEADD é flexível: ele desloca as datas por um passo definido, seja dia, mês, trimestre ou ano. Para o MoM, você usa um passo de menos um mês. Trocando o passo, a mesma estrutura calcula variações em outros períodos.

Devo mostrar YoY ou MoM no painel? Depende da pergunta. O YoY dá a tendência sem sazonalidade, bom para a visão estratégica. O MoM mostra o movimento recente, mas exige ler a sazonalidade. Muitos painéis mostram os dois, porque cada um conta uma parte da história.

Compare com contexto e a medida vira decisão

Crescimento YoY e MoM transformam um número solto em tendência. Com uma boa tabela de datas, as funções de inteligência de tempo e DIVIDE, as medidas ficam robustas e bem formatadas. Se quiser medidas prontas para produção, fale com a gente.

Quer aplicar isso na sua empresa?

A Fynx implementa BI, Power BI e Power Platform de ponta a ponta. Conte seu cenário e devolvemos um diagnóstico direto ao ponto.

Falar com um especialista

Vamos transformar seus dados em decisão?

Conte seu cenário. Devolvemos um diagnóstico e uma proposta com faixa de investimento em poucos dias úteis, sem folheto, direto ao ponto.