(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisboa
DAX

Padrões DAX: running totals, YoY e médias móveis

João Barros 13 de February de 2026 1 min de leitura

Certos cálculos aparecem em quase todos os projectos Power BI. Este tutorial apresenta três dos mais comuns — running totals, comparações Year-over-Year e médias móveis — com as fórmulas correctas e variações práticas.

1. Running Total (Acumulado)

Vendas Acumuladas =
CALCULATE(
    SUM(fVendas[Receita]),
    FILTER(
        ALL(dData[Date]),
        dData[Date] <= MAX(dData[Date])
    )
)

Funciona correctamente com qualquer filtro de data no relatório porque usa ALL(dData[Date]) e depois aplica a condição de data acumulada.

2. Year-over-Year (YoY)

Vendas YoY Abs =
VAR vAtual = SUM(fVendas[Receita])
VAR vAnterior = CALCULATE(
    SUM(fVendas[Receita]),
    SAMEPERIODLASTYEAR(dData[Date])
)
RETURN vAtual - vAnterior

Vendas YoY % = DIVIDE([Vendas YoY Abs], [Vendas Ano Anterior], BLANK())

3. Média Móvel (N períodos)

Média Móvel 3M =
VAR vDataMax = MAX(dData[Date])
VAR vDataMin = EDATE(vDataMax, -2)   -- 3 meses atrás
RETURN
CALCULATE(
    AVERAGEX(
        VALUES(dData[Ano] & "-" & dData[Mês]),
        [Vendas Total]
    ),
    DATESBETWEEN(dData[Date], vDataMin, vDataMax)
)

Variações úteis

  • Running total por categoria: adicione um ALLEXCEPT para preservar o filtro de categoria.
  • YoY com período fiscal: use DATEADD(dData[Date], -1, YEAR) em vez de SAMEPERIODLASTYEAR quando o ano fiscal não coincide com o civil.
  • Média móvel de 7 dias: substitua EDATE(vDataMax, -2) por vDataMax - 6.

Conclusão

Estes três padrões cobrem a maioria das análises temporais pedidas por gestores e analistas. Guarde-os num ficheiro de referência pessoal — vai reutilizá-los em praticamente todos os projectos.

Partilhar: