Blog da Load Edtech

Inteligência de tempo no Power BI: Como comparar períodos (LY, YoY, MoM, QoQ) e acumulados (YTD)

9 min de leitura
Aprenda o que significam YTD, YoY, MoM, QoQ e LY e como calcular cada uma dessas medidas no Power BI usando DAX. Guia didático para quem quer parar de se perder nas siglas de análise de tempo.

O que você irá ler aqui

Você já se perdeu nessas siglas?

Abre um relatório e aparece “YTD”. Entra em uma reunião e o gestor fala “YoY”. Olha uma planilha de metas e está escrito “MoM”. E você fica ali, sorrindo e concordando, mas por dentro pensando: o que raios significa isso?

Fica tranquilo pois essa é uma das dúvidas mais comuns de quem trabalha com dados, e não tem absolutamente nada de errado em não saber. O problema é que ninguém para para explicar direito o que essas siglas significam, muito menos como calcular cada uma delas no Power BI.

É exatamente isso que a gente vai fazer aqui.

Vou te explicar o que é cada medida, o que ela está te contando sobre o negócio, e como escrever a fórmula no DAX, mesmo que você nunca tenha escrito uma linha de código na vida.

Bora? 

Antes de tudo: o que é Time Intelligence?

Antes de entrar nas siglas, preciso te explicar um conceito que vai fazer tudo fazer mais sentido.

No Power BI, existe um grupo especial de funções DAX chamado Time Intelligence, que em português significa, literalmente, inteligência de tempo.

São funções criadas especificamente para fazer cálculos que envolvem datas e períodos. Elas não trabalham com um único número. Elas trabalham com intervalos de tempo, comparando um período com outro, acumulando valores ao longo do ano, mostrando o que mudou de um mês para o outro.

É graças a essas funções que você consegue responder perguntas como:

  • “Quanto vendemos no acumulado deste ano?”
  • “Estamos melhor ou pior do que no mesmo período do ano passado?”
  • “Como foi o crescimento de um trimestre para o outro?”

Sem elas, você teria que fazer esses cálculos na mão, período a período. Com elas, tudo é dinâmico e atualiza automaticamente conforme os dados crescem.

⚠️ Um detalhe importante antes de continuar: para que qualquer função de Time Intelligence funcione corretamente, você precisa ter uma Tabela Calendário bem configurada no seu modelo, com datas contínuas, sem nenhum dia faltando, e marcada como “Tabela de Datas”. Se você ainda não tem isso configurado, não tem problema pois existe um artigo aqui no blog que te explica com detalhes o que é essa tabela e como criá-la. Basta clicar aqui para acessar esse artigo.

As 5 siglas que aparecem em todo relatório profissional

Agora sim. Vamos destrinchar cada uma delas, começando pelo significado em inglês, passando pela tradução real, e chegando na fórmula DAX.

📌 YTD — Year-To-Date

O que significa: “Do início do ano até hoje.”

Sabe quando você quer saber quanto foi vendido desde o dia 1 de janeiro até hoje? Isso é YTD. É o acumulado do ano.

Pensa assim: imagina que você está em março. O YTD vai somar tudo o que aconteceu em janeiro, mais fevereiro, mais março. No mês que vem, ele vai incluir abril também, e assim por diante, sempre acumulando desde o começo do ano.

Por que isso importa? Porque comparar um mês isolado nem sempre conta a história completa. O YTD te dá a fotografia do ano inteiro até aqui.

Como calcular no DAX:

Vendas YTD =
TOTALYTD ( SUM ( fVendas[Valor] ), dCalendario[Data] )

Traduzindo em voz alta: “Some todos os valores de vendas, considerando todas as datas desde o início do ano até hoje.”

Se preferir usar o CALCULATE, que é o formato mais recomendado para ter mais controle:

Vendas YTD =
CALCULATE (
    SUM ( fVendas[Valor] ),
    DATESYTD ( dCalendario[Data] )
)

💡E se o ano fiscal não começar em janeiro? Sem problema. É só adicionar a data de encerramento do seu ano fiscal:

Vendas YTD Fiscal =
TOTALYTD ( SUM ( fVendas[Valor] ), dCalendario[Data], "06-30" )

O “06-30” indica que o ano fiscal encerra em 30 de junho, o que significa que ele começa em 1º de julho. Basta ajustar para a data correta da sua empresa.

📌 LY — Last Year

O que significa: “Ano passado.”

LY é o valor do mesmo período, só que no ano anterior. Se hoje é março de 2026, o LY vai trazer o valor de março de 2025.

Por que isso importa? Sozinho, o LY não diz muita coisa. Mas quando você coloca ele ao lado do valor atual, começa a enxergar se o negócio está crescendo, estagnado ou caindo.

Como calcular no DAX:

Vendas LY =
CALCULATE (
    SUM ( fVendas[Valor] ),
    SAMEPERIODLASTYEAR ( dCalendario[Data] )
)

Traduzindo: “Some os valores de vendas, mas usando as datas do mesmo período do ano passado.”

A função SAMEPERIODLASTYEAR é inteligente e se adapta ao filtro que você aplicou no relatório. Se você filtrar por mês, ela vai trazer aquele mês do ano anterior. Se filtrar por trimestre, traz o trimestre do ano anterior. Ela sempre “volta um ano” em relação ao que está selecionado.

📌 YoY — Year-Over-Year

O que significa: “Ano sobre ano”, ou seja, a variação de um ano para o outro.

O YoY responde a pergunta: “Crescemos ou diminuímos em relação ao ano passado, e em quanto?”

Normalmente aparece como um percentual. Por exemplo: “Vendas YoY: +12%” significa que foi vendido 12% a mais do que no mesmo período do ano anterior.

Como calcular no DAX:

Primeiro você precisa ter as medidas de Vendas atual e Vendas LY já criadas. Depois:

Vendas YoY % =
DIVIDE (
    [Vendas] - [Vendas LY],
    [Vendas LY]
)

Traduzindo: “Pegue a diferença entre as vendas de agora e as vendas do ano passado, e divida pelo valor do ano passado para transformar em percentual.”

⚠️ Por que usar DIVIDE e não simplesmente dividir com o símbolo /? Porque se o valor do ano passado for zero, a divisão comum gera um erro no relatório. O DIVIDE trata esse caso automaticamente, retornando zero ou BLANK em vez de travar tudo.

 

📌 MoM — Month-Over-Month

O que significa: “Mês sobre mês”, ou seja, a variação de um mês para o mês anterior.

Enquanto o YoY compara com o mesmo período do ano passado, o MoM compara com o mês imediatamente anterior. Se estamos em março, o MoM compara março com fevereiro.

Por que isso importa? Para identificar tendências de curto prazo. Um crescimento de 15% no YoY é ótimo, mas se o MoM está caindo nos últimos três meses, algo pode estar mudando agora. O MoM captura isso antes que vire um problema maior.

Como calcular no DAX:

Vendas Mês Anterior =
CALCULATE (
    SUM ( fVendas[Valor] ),
    DATEADD ( dCalendario[Data], -1, MONTH )
)

Traduzindo: “Some os valores de vendas, mas deslocando as datas um mês para trás.”

E a variação percentual:

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

📌 QoQ — Quarter-Over-Quarter

O que significa: “Trimestre sobre trimestre”, ou seja, a variação de um trimestre para o anterior.

Um trimestre (quarter, em inglês) é um período de 3 meses. O ano tem 4 trimestres:

  • Q1: Janeiro, Fevereiro, Março
  • Q2: Abril, Maio, Junho
  • Q3: Julho, Agosto, Setembro
  • Q4: Outubro, Novembro, Dezembro

O QoQ compara um trimestre com o trimestre imediatamente anterior, por exemplo Q3 versus Q2.

Por que isso importa? O QoQ é muito usado por empresas que têm sazonalidade forte. Em vez de olhar mês a mês, que pode oscilar bastante, ou só o ano inteiro, que esconde variações, o trimestre equilibra esses dois extremos e facilita identificar tendências de médio prazo.

Como calcular no DAX:

Vendas Trimestre Anterior =
CALCULATE (
    SUM ( fVendas[Valor] ),
    DATEADD ( dCalendario[Data], -1, QUARTER )
)

E a variação:

Vendas QoQ % =
DIVIDE (
    [Vendas] - [Vendas Trimestre Anterior],
    [Vendas Trimestre Anterior]
)

Um detalhe que ninguém conta sobre YoY, MoM e QoQ

Você configurou tudo certinho, as fórmulas estão funcionando, e aí abre o relatório no dia 3 de janeiro e o YoY mostra -99%.

Calma. Não está errado. Mas também não está certo do jeito que precisa estar.

Aqui está o problema: quando você compara períodos usando YoY, MoM ou QoQ, você está colocando lado a lado um período completo (o ano passado, o mês passado, o trimestre passado, com todos os dias performados) contra um período ainda em andamento (esse mês, esse trimestre, esse ano, que provavelmente ainda não terminou).

Pensa no exemplo do dia 3 de janeiro: você tem 3 dias de vendas em 2026 sendo comparados com os 365 dias inteiros de 2025. Claro que o número vai parecer uma catástrofe.

O mesmo acontece no dia 20 do mês: você tem 20 dias de performance sendo comparados com os 30 ou 31 dias completos do mês anterior. A comparação não está errada matematicamente, mas ela está desequilibrada.

Como resolver isso?

Existem algumas abordagens, e a escolha depende do contexto do seu negócio:

1. Comparar por média diária Em vez de comparar o total do período, você divide o valor pelo número de dias corridos. Assim os dois lados da comparação ficam na mesma unidade.

Vendas por Dia =
DIVIDE ( SUM ( fVendas[Valor] ), COUNTROWS ( dCalendario ) )

2. Comparar por dias úteis Se o seu negócio opera só em dias úteis, dividir por dias corridos ainda distorce. Nesse caso, vale criar uma coluna na Tabela Calendário marcando dias úteis e usar essa contagem como divisor.

3. Usar projeção do período Uma abordagem mais sofisticada: você projeta o valor do período atual para o total de dias do mês (ou trimestre, ou ano) e compara esse número projetado com o período anterior completo. É mais trabalhoso, mas entrega uma comparação mais honesta.

4. Comparar só períodos fechados A solução mais simples: mostrar a métrica de comparação apenas quando o período atual estiver completo. Enquanto o mês não fechou, você exibe o dado atual sem o percentual de variação.

💡 Não existe uma resposta única aqui. O que importa é que você e quem usa o relatório estejam alinhados sobre o que a métrica está mostrando. Uma comparação clara e bem explicada vale muito mais do que um número bonito que ninguém sabe interpretar.

A função que une tudo: DATEADD

Você deve ter reparado que o DATEADD apareceu tanto no MoM quanto no QoQ. Não foi por acaso.

DATEADD é o canivete suíço das funções de Time Intelligence. Ela desloca datas por qualquer intervalo que você precisar, para frente ou para trás no tempo.

A estrutura dela é sempre a mesma:

DATEADD ( dCalendario[Data], [número], [intervalo] )

Onde:

  • número negativo = volta no tempo
  • número positivo = avança no tempo
  • intervalo pode ser: DAY, MONTH, QUARTER ou YEAR

Alguns exemplos práticos:

-- 1 mês atrás
DATEADD ( dCalendario[Data], -1, MONTH )

-- 1 trimestre atrás
DATEADD ( dCalendario[Data], -1, QUARTER )

-- 1 ano atrás (equivalente ao SAMEPERIODLASTYEAR)
DATEADD ( dCalendario[Data], -1, YEAR )

-- 2 anos atrás
DATEADD ( dCalendario[Data], -2, YEAR )

💡 Curiosidade técnica: o SAMEPERIODLASTYEAR que usamos no LY é, por dentro, exatamente um DATEADD ( dCalendario[Data], -1, YEAR ). A Microsoft criou o SAMEPERIODLASTYEAR como uma versão mais fácil de ler, mas o resultado é idêntico.

Resumo rápido: qual medida usar em cada situação?

SiglaNome completoO que comparaPergunta que responde
YTDYear-To-DateAcumulado do ano até hoje“Quanto fizemos no total este ano?”
LYLast YearMesmo período do ano passado“Como foi no mesmo período do ano passado?”
YoYYear-Over-YearEste período vs. mesmo período ano anterior“Crescemos ou diminuímos vs. ano passado?”
MoMMonth-Over-MonthEste mês vs. mês anterior“Como foi nossa variação mensal?”
QoQQuarter-Over-QuarterEste trimestre vs. trimestre anterior“Como foi nossa variação trimestral?”

 

O erro que faz tudo dar errado (e que acontece com todo mundo)

Você escreveu a fórmula certinha, colocou no visual, e aparece BLANK. Ou um número completamente fora da realidade.

O culpado, em 90% dos casos, é a Tabela Calendário mal configurada.

As funções de Time Intelligence são exigentes. Para funcionarem, precisam que:

  • ✅ A tabela de datas tenha uma linha por dia, sem repetições
  • Não falte nenhum dia no intervalo (sem furos)
  • ✅ A tabela esteja marcada como “Tabela de Datas” no Power BI
  • ✅ A coluna de data seja do tipo Date ou DateTime

Para marcar como Tabela de Datas: selecione a tabela no modelo, vá em Ferramentas de Tabela, clique em Marcar como Tabela de Datas e escolha a coluna de data.

Depois disso, aparece um ícone de calendário ao lado do nome da tabela. É o sinal de que está tudo configurado corretamente.

Se quiser entender isso a fundo, incluindo como criar uma Tabela Calendário dinâmica do zero com DAX, tem um artigo completo sobre isso aqui no blog, segue o link: [Tabela Calendário em Power BI: conceito e implementação dinâmica].

 

Quer ir além do DAX?

Conseguiu entender YTD, YoY, MoM, QoQ e LY só lendo esse texto? Então você já teve um gostinho da forma como eu ensino.

Essa mesma didática é o que levo para a Formação em Power BI e IA, onde a gente vai muito além das fórmulas: modelagem de dados, DAX, Time Intelligence e como usar IA no trabalho com dados, tudo junto e com contexto real.

As turmas abrem em alguns momentos do ano. Se quiser saber quando, é só entrar na lista de espera: [Link da lista de espera]

 

Perguntas Frequentes (FAQ)

1. Preciso saber inglês para usar essas funções? Não precisa. As siglas (YTD, LY, YoY, MoM, QoQ) são termos técnicos do mercado de dados, mas o que importa é entender o que cada uma calcula, não decorar o inglês. Com esse artigo, você já tem o significado prático de cada uma. As fórmulas DAX também são escritas em inglês, mas seguem uma lógica que você aprende uma vez e aplica para sempre.

2. Qual a diferença entre YoY e MoM na prática? O YoY compara com o mesmo período do ano anterior, uma visão de longo prazo, ideal para identificar crescimento ou queda estrutural. O MoM compara com o mês anterior, uma visão de curto prazo, ótima para capturar tendências recentes. Dashboards profissionais costumam mostrar os dois juntos porque eles contam histórias diferentes.

3. Por que meu YTD está mostrando BLANK? Quase sempre é a Tabela Calendário. Verifique se ela está marcada como Tabela de Datas, se não tem nenhum dia faltando no intervalo e se o relacionamento entre a tabela fato e o calendário está ativo e correto.

4. SAMEPERIODLASTYEAR e DATEADD fazem a mesma coisa? Para o cálculo de “ano anterior”, sim, o resultado é idêntico. O SAMEPERIODLASTYEAR é uma versão mais legível do DATEADD ( dCalendario[Data], -1, YEAR ). A diferença é que o DATEADD é mais flexível: aceita outros intervalos (MONTH, QUARTER, DAY) e quantidades diferentes (-2, -3…). Para o LY simples, qualquer um dos dois funciona.

5. Como faço o acumulado do trimestre (QTD) e do mês (MTD)? Da mesma forma que o YTD, só mudando a função:

- Acumulado do trimestre
Vendas QTD = TOTALQTD ( SUM ( fVendas[Valor] ), dCalendario[Data] )

- Acumulado do mês
Vendas MTD = TOTALMTD ( SUM ( fVendas[Valor] ), dCalendario[Data] )

6. Essas medidas funcionam com qualquer tipo de dado, não só vendas? Sim. Essas funções funcionam com qualquer métrica numérica: horas trabalhadas, número de chamados, custo, receita, quantidade de produtos, NPS… A lógica é sempre a mesma, só muda o que você coloca dentro do SUM.

7. O que é um trimestre (quarter)? É um período de 3 meses. O ano tem 4 trimestres: Q1 (jan, fev, mar), Q2 (abr, mai, jun), Q3 (jul, ago, set) e Q4 (out, nov, dez). Empresas usam muito essa divisão porque trimestres têm tamanho parecido e facilitam comparações ao longo do ano.

8. Onde encontro a documentação oficial dessas funções? A Microsoft mantém tudo documentado, basta clicar aqui para acessar. Vale favoritar e consultar sempre que tiver dúvida.

269 views

Autor

Foto de Leticia Smirelli

Leticia Smirelli

Educadora, escritora e Microsoft MVP. Descomplico a Análise de Dados e Inteligência Artificial.

Compartilhar

Compartilhar

Explore os tópicos

Fique por dentro!

Entre na nossa lista e receba novidades, bônus especiais e conteúdos exclusivos direto no seu e-mail.

Você também pode se interessar: