Curso de DAX para Power BI

Funciones de tiempo en Power BI con DAX

Curso de DAX para Power BI

Contenido del curso

Funciones de tiempo en Power BI con DAX

Resumen

El análisis de tiempo en Power BI se vuelve mucho más potente cuando construyes una tabla calendario y la conectas con tus tablas de hechos. Aquí aprenderás cómo preparar la dimensión fecha, relacionarla con presupuesto y venta, y aplicar funciones de time intelligence como PREVIOUSMONTH, PARALLELPERIOD y DATEADD para comparar periodos y medir crecimiento.

¿Cómo conecto la tabla de presupuesto con la dim fechas?

El primer reto aparece cuando la tabla de presupuesto no tiene una columna de fecha que converse con tu dim fechas. La solución pasa por Power Query, el motor de transformación de datos de Power BI [00:32].

Dentro de la fact presupuesto, las columnas de periodo y mes existen por separado, así que necesitas combinarlas para crear una fecha real. El flujo es directo:

  • Selecciona las columnas periodo y mes, clic derecho y elige combinar usando un punto como separador.
  • Renombra la nueva columna como fecha presupuesto.
  • Cambia el tipo de dato desde el icono ABC a tipo fecha.

¿Qué es Power Query? Es la herramienta de Power BI para transformar y limpiar datos antes de cargarlos al modelo. Te permite combinar columnas, reemplazar valores y cambiar tipos de dato sin tocar la fuente original.

¿Por qué aparece error al convertir la columna a fecha?

En este caso, el error venía de la palabra septiembre, que Power Query no reconocía con la grafía esperada. La corrección fue reemplazar septiembre por setiembre con clic derecho y la opción reemplazar valores [01:15]. Tras ese ajuste, el tipo fecha se aplicó sin problema y al cerrar y aplicar quedó lista la relación entre date de la dim fechas y fecha presupuesto. Así, presupuesto y venta empiezan a conversar por tiempo y por sede.

¿Cómo calculo la venta del mes anterior con PREVIOUSMONTH?

Una vez que tu dim fechas tiene fechas únicas y sin saltos, puedes apoyarte en las agregaciones de tiempo inteligente. La primera medida útil es la venta del mes anterior, ideal para comparar el desempeño actual contra el inmediato pasado [02:10].

La fórmula combina CALCULATE con PREVIOUSMONTH:

DAX Venta mes anterior = CALCULATE( [Total de venta], PREVIOUSMONTH(DimFechas[Date]) )

Al llevar esa medida a una tabla con año y mes, verás cómo cada fila trae automáticamente el valor del mes previo. La función PREVIOUSMONTH tiene primas hermanas como PREVIOUSDAY, PREVIOUSQUARTER y PREVIOUSYEAR, y todas requieren que apuntes al campo date de tu dimensión calendario.

¿Qué hace CALCULATE en DAX? Evalúa una expresión bajo un contexto de filtro modificado. Es la base de casi toda medida de time intelligence porque te permite cambiar el periodo sobre el que se calcula el total.

¿Cómo comparo trimestres entre años con PARALLELPERIOD?

Cuando necesitas mirar el mismo trimestre del año pasado, PARALLELPERIOD es la función que retorna un periodo de fechas paralelo al actual [03:05]. La medida se construye así:

DAX Venta trimestre año pasado = CALCULATE( [Total de venta], PARALLELPERIOD(DimFechas[Date], -4, QUARTER) )

El -4 indica que retrocedes cuatro trimestres, es decir, un año completo. En el ejemplo, el Q1 de 2016 registró 43 millones en ventas, mientras que el Q1 de 2015 cerró en 41 millones, y la fórmula trae ese 41 millones a la fila correspondiente para que la comparación sea inmediata. Para el año 2015 la medida queda vacía, porque no existe información de 2014 en el modelo.

¿Cuándo conviene usar DATEADD en vez de PARALLELPERIOD?

DATEADD te da más granularidad para definir el desplazamiento temporal. Si quieres construir un objetivo de venta basado en lo facturado hace 12 meses, esta función es la indicada.

La medida objetivo last year se escribe así:

DAX Objetivo Last Year = CALCULATE( [Total de ventas], DATEADD(DimFechas[Date], -12, MONTH) )

Esta lógica trae como meta la venta de hace 12 meses, lo que te permite saber si creciste o decreciste en el periodo actual. Es la base para construir indicadores de variación porcentual y dashboards de seguimiento comercial.

¿Qué medidas de time intelligence vale la pena tener listas?

Con una dim fechas bien construida, puedes encadenar varias medidas que cubren la mayoría de casos de negocio:

  1. Venta del mes anterior con PREVIOUSMONTH para seguimiento mensual.
  2. Venta del trimestre del año pasado con PARALLELPERIOD y desplazamiento de -4 trimestres.
  3. Objetivo last year con DATEADD y desplazamiento de -12 meses.
  4. Variantes con PREVIOUSDAY o PREVIOUSYEAR según el nivel de detalle que necesites.

La regla de oro es que toda función de tiempo apunte siempre al campo date de tu dimensión calendario, porque es la única que garantiza fechas continuas y únicas. Cuéntame en los comentarios qué medida vas a implementar primero en tu modelo.