Las funciones de inteligencia de tiempo en Power BI son una parte esencial del lenguaje DAX (Data Analysis Expressions) y permiten realizar cálculos complejos relacionados con el tiempo, como comparaciones de periodos, acumulados, y análisis de tendencias. Estas funciones son cruciales para cualquier análisis de datos que involucre fechas y tiempos.

Conceptos Clave

  1. Calendario de Fechas: Es fundamental tener una tabla de fechas en tu modelo de datos. Esta tabla debe contener una fila por cada día en el rango de fechas que necesitas analizar.
  2. Relaciones: La tabla de fechas debe estar relacionada con las tablas de hechos (fact tables) en tu modelo de datos.
  3. Funciones DAX: DAX proporciona una variedad de funciones específicas para la inteligencia de tiempo, como TOTALYTD, SAMEPERIODLASTYEAR, DATESYTD, entre otras.

Tabla de Fechas

Antes de utilizar las funciones de inteligencia de tiempo, necesitas una tabla de fechas. Aquí hay un ejemplo de cómo crear una tabla de fechas en DAX:

DateTable = 
ADDCOLUMNS (
    CALENDAR (DATE(2020, 1, 1), DATE(2023, 12, 31)),
    "Year", YEAR([Date]),
    "Month", MONTH([Date]),
    "Day", DAY([Date]),
    "MonthName", FORMAT([Date], "MMMM"),
    "Quarter", "Q" & FORMAT([Date], "Q")
)

Funciones de Inteligencia de Tiempo Comunes

  1. TOTALYTD

Calcula el total acumulado del año hasta la fecha especificada.

TotalSalesYTD = 
TOTALYTD (
    SUM(Sales[SalesAmount]),
    'DateTable'[Date]
)

  1. SAMEPERIODLASTYEAR

Devuelve una tabla que contiene una columna de fechas desplazada un año atrás.

SalesLastYear = 
CALCULATE (
    SUM(Sales[SalesAmount]),
    SAMEPERIODLASTYEAR('DateTable'[Date])
)

  1. DATESYTD

Devuelve una tabla que contiene una columna de fechas desde el comienzo del año hasta la fecha especificada.

SalesYTD = 
CALCULATE (
    SUM(Sales[SalesAmount]),
    DATESYTD('DateTable'[Date])
)

  1. PARALLELPERIOD

Devuelve una tabla que contiene una columna de fechas desplazada por el número especificado de intervalos de tiempo.

SalesParallelPeriod = 
CALCULATE (
    SUM(Sales[SalesAmount]),
    PARALLELPERIOD('DateTable'[Date], -1, MONTH)
)

Ejemplo Práctico

Supongamos que tienes una tabla de ventas (Sales) y una tabla de fechas (DateTable). Aquí hay un ejemplo de cómo podrías usar las funciones de inteligencia de tiempo para comparar las ventas de este año con las del año pasado.

Paso 1: Crear Medidas

TotalSales = SUM(Sales[SalesAmount])

TotalSalesYTD = 
TOTALYTD (
    [TotalSales],
    'DateTable'[Date]
)

SalesLastYear = 
CALCULATE (
    [TotalSales],
    SAMEPERIODLASTYEAR('DateTable'[Date])
)

Paso 2: Crear Visualizaciones

  1. Gráfico de Líneas: Muestra TotalSalesYTD y SalesLastYear en un gráfico de líneas para comparar las ventas acumuladas de este año con las del año pasado.
  2. Tarjetas: Usa tarjetas para mostrar los valores totales de TotalSalesYTD y SalesLastYear.

Ejercicio Práctico

Ejercicio

  1. Crea una tabla de fechas en tu modelo de datos.
  2. Usa las funciones de inteligencia de tiempo para calcular las ventas acumuladas del año hasta la fecha (TotalSalesYTD).
  3. Calcula las ventas del mismo periodo del año pasado (SalesLastYear).
  4. Crea un gráfico de líneas que compare TotalSalesYTD y SalesLastYear.

Solución

-- Tabla de Fechas
DateTable = 
ADDCOLUMNS (
    CALENDAR (DATE(2020, 1, 1), DATE(2023, 12, 31)),
    "Year", YEAR([Date]),
    "Month", MONTH([Date]),
    "Day", DAY([Date]),
    "MonthName", FORMAT([Date], "MMMM"),
    "Quarter", "Q" & FORMAT([Date], "Q")
)

-- Medidas
TotalSales = SUM(Sales[SalesAmount])

TotalSalesYTD = 
TOTALYTD (
    [TotalSales],
    'DateTable'[Date]
)

SalesLastYear = 
CALCULATE (
    [TotalSales],
    SAMEPERIODLASTYEAR('DateTable'[Date])
)

Conclusión

Las funciones de inteligencia de tiempo en Power BI son herramientas poderosas para realizar análisis temporales complejos. Al dominar estas funciones, puedes proporcionar insights valiosos sobre tendencias y patrones en tus datos a lo largo del tiempo. Asegúrate de tener una tabla de fechas bien estructurada y de entender cómo funcionan las relaciones en tu modelo de datos para aprovechar al máximo estas funciones.

© Copyright 2024. Todos los derechos reservados