Time Intelligence en DAX con tabla de fechas personalizada
Time Intelligence es el conjunto de funciones DAX que permite calcular periodos como Año hasta la fecha (YTD), Mes hasta la fecha (MTD), comparaciones Year-over-Year (YoY) y periodos paralelos. Para funcionar correctamente, requieren una tabla de fechas continua y marcada.
Crear la tabla de fechas en DAX
dFecha =
ADDCOLUMNS(
CALENDAR(DATE(2020,1,1), DATE(2030,12,31)),
"Año", YEAR([Date]),
"Trimestre", "T" & QUARTER([Date]),
"Mes", MONTH([Date]),
"NombreMes", FORMAT([Date], "MMMM", "es-ES"),
"MesAño", FORMAT([Date], "MMM YYYY", "es-ES"),
"Semana", WEEKNUM([Date], 2),
"DiaSemana", WEEKDAY([Date], 2),
"EsLaboral", IF(WEEKDAY([Date],2) <= 5, TRUE, FALSE)
)
Marque la tabla como Date Table en Table Tools → Mark as Date Table usando la columna Date.
Medidas de Time Intelligence
Ventas YTD = TOTALYTD(SUM(fVentas[Ingresos]), dFecha[Date])
Ventas MTD = TOTALMTD(SUM(fVentas[Ingresos]), dFecha[Date])
Ventas Año Anterior = CALCULATE(
SUM(fVentas[Ingresos]),
SAMEPERIODLASTYEAR(dFecha[Date])
)
YoY % = DIVIDE(
SUM(fVentas[Ingresos]) - [Ventas Año Anterior],
[Ventas Año Anterior]
)
Año fiscal vs. año natural
Si su año fiscal empieza en julio, use el parámetro year_end_date:
Ventas YTD Fiscal = TOTALYTD(
SUM(fVentas[Ingresos]),
dFecha[Date],
"6/30" -- fin del año fiscal: 30 de junio
)
Conclusión
Una tabla de fechas bien construida y marcada correctamente desbloquea todo el potencial de las funciones de Time Intelligence. Invierta 30 minutos en crear una tabla de fechas reutilizable — la usará en todos los proyectos Power BI.