Tabla de calendario en Power BI
Una tabla de calendario en Power BI es imprescindible si quieres realizar análisis de períodos anteriores (día, meses, años…). Por ejemplo si quieres conocer la variación porcentual de las ventas de este año respecto el año anterior necesitaras una tabla auxiliar de calendario, con esto evitarás errores de referencias cíclicas en el modelo de datos.
A continuación te explico y te comparto el calendario más completo que he encontrado. Es un calendario dinámico en el sentido que la fecha de inicio corresponde a la fecha más antigua de la tabla y la fecha final la más reciente (fecha de hoy).
Las tablas de calendario pueden hacerse de diversas formas, desde el editor de Power Query en M o desde el propio entorno de Power BI Desktop con el lenguaje DAX.
1.- Introducción
2.- Crear la tabla de calendario
3.- Añadir columnas (año, mes, día…)
4.- Crear la relación entre las tablas
2. Crear la tabla del calendario
El primer paso será crear la tabla de calendario, opción que encontrarás all apartado de modelado de Power BI. haremos clic en “crear nueva tabla”. la nueva tabla que le llamaremos “Calendario”.
En el campo de la fórmula donde pone Tabla= escribiremos la siguiente fórmula
Calendario = CALENDAR(MIN(‘Ventas'[Fecha]);TODAY())
Esta expresión nos creará la nueva tabla con el nombre de “Calendario” con una columna “fecha” con la fecha más antigua de la tabla de las ventas y la fecha de hoy.
3. Añadir Columnas
Añadiremos tantas columnas como formatos de fecha necesitemos, columna Años, columna Mes, columna Dia…en total 25 formatos distintos.
- Añadir columna Año
Año = YEAR(‘Calendario'[Fecha])
- Añadir columna Mes
- Añadir columna Dia
- Añadir columna Fecha ISO
FechaSk = ‘Calendario'[Año]*10000 + ‘Calendario'[Mes]*100 + ‘Calendario'[Dia]
- Añadir columna Semestre
- Añadir columna Cuatrimestre
Cuatrimestre = ROUNDUP(‘Calendario'[Mes]/4;0)
- Añadir columna Trimestre
Trimestre = ROUNDUP(‘Calendario'[Mes]/3;0)
- Añadir columna Bimestre
Bimestre = ROUNDUP(‘Calendario'[Mes]/2;0)
- Añadir columna Semana
Semana = WEEKNUM(‘Calendario'[Fecha])
Puedes añadir las demás columnas que faltan para tener la tabla de calendario completa (25 formatos) que encontrarás en este archivo txt descargable. Espero que te sirva de ayuda 🙂