Patrones DAX: running totals, YoY y medias móviles
João Barros
13 de February de 2026
1 min de lectura
Ciertos cálculos aparecen en casi todos los proyectos Power BI. Este tutorial presenta tres de los más comunes — running totals, comparaciones Year-over-Year y medias móviles — con las fórmulas correctas y variaciones prácticas.
1. Running Total (Acumulado)
Ventas Acumuladas =
CALCULATE(
SUM(fVentas[Ingresos]),
FILTER(
ALL(dFecha[Date]),
dFecha[Date] <= MAX(dFecha[Date])
)
)
Funciona correctamente con cualquier filtro de fecha en el informe porque usa ALL(dFecha[Date]) y luego aplica la condición de fecha acumulada.
2. Year-over-Year (YoY)
Ventas YoY Abs =
VAR vActual = SUM(fVentas[Ingresos])
VAR vAnterior = CALCULATE(
SUM(fVentas[Ingresos]),
SAMEPERIODLASTYEAR(dFecha[Date])
)
RETURN vActual - vAnterior
Ventas YoY % = DIVIDE([Ventas YoY Abs], [Ventas Año Anterior], BLANK())
3. Media Móvil (N periodos)
Media Movil 3M =
VAR vFechaMax = MAX(dFecha[Date])
VAR vFechaMin = EDATE(vFechaMax, -2) -- 3 meses atrás
RETURN
CALCULATE(
AVERAGEX(
VALUES(dFecha[Año] & "-" & dFecha[Mes]),
[Ventas Total]
),
DATESBETWEEN(dFecha[Date], vFechaMin, vFechaMax)
)
Variaciones útiles
- Running total por categoría: añada un
ALLEXCEPTpara preservar el filtro de categoría. - YoY con periodo fiscal: use
DATEADD(dFecha[Date], -1, YEAR)en lugar deSAMEPERIODLASTYEARcuando el año fiscal no coincide con el natural. - Media móvil de 7 días: sustituya
EDATE(vFechaMax, -2)porvFechaMax - 6.
Conclusión
Estos tres patrones cubren la mayoría de los análisis temporales que piden gestores y analistas. Guárdelos en un archivo de referencia personal — los reutilizará en prácticamente todos los proyectos.