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
ALLEXCEPTpara preservar o filtro de categoria. - YoY com período fiscal: use
DATEADD(dData[Date], -1, YEAR)em vez deSAMEPERIODLASTYEARquando o ano fiscal não coincide com o civil. - Média móvel de 7 dias: substitua
EDATE(vDataMax, -2)porvDataMax - 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.