Viajando en el tiempo con DATEADD en Power BI
Pensemos por un momento en “Volver al Futuro”, la icónica película donde los protagonistas realizan fascinantes viajes a través del tiempo en su tecnológico DeLorean. Del mismo modo, al igual que Marty McFly explorando el pasado y el futuro para entender y mejorar el presente, en el mundo del análisis de datos frecuentemente necesitamos embarcarnos en viajes temporales para comprender las tendencias y predecir lo que está por venir. Precisamente aquí es donde DATEADD en Power BI se convierte en nuestro DeLorean particular, permitiéndonos viajar a través del tiempo en nuestros datos.
Esta función nos ayudará a revisitar y analizar fechas pasadas, como si pudiéramos retroceder a momentos clave de nuestra empresa o proyecto para extraer lecciones valiosas. Además, es fundamental entender desde el principio que el mecanismo detrás de DATEADD requiere que tengamos bien especificado nuestro campo de fecha asociado al registro, ya sea a través de un campo designado y con el formato correcto (Date) o una tabla de fechas asociada.
Asimismo, en este artículo, descubriremos el uso práctico de DATEADD para realizar estos viajes temporales en nuestros datos. Exploraremos tanto el pasado como el futuro de nuestras métricas e indicadores, lo que nos permitirá realizar comparativas y entender cómo hemos evolucionado a través del tiempo.
¿Qué es DATEADD?
DATEADD es una función DAX en Power BI diseñada específicamente para manipular y analizar datos basados en su temporalidad. Esta función nos permite agregar o restar un número específico de unidades de tiempo como días, meses, trimestres o años, adaptándose así a diversas necesidades analíticas.
En cuanto a la fórmula básica de DATEADD, esta sigue una estructura sencilla y directa.
DATEADD(“columna de fecha”,” número de intervalos”, “unidad de tiempo”)
-
Columna de fecha
Es la columna que contiene las fechas que deseas manipular. Puede ser tanto el campo fecha de tu tabla principal como el campo de fechas de tu tabla de fechas. Sin embargo, como regla general, te recomendamos utilizar aquel en el que se encuentra la fecha que filtra el reporte, garantizando así una mayor precisión en tus análisis.
-
Número de intervalos
Este corresponde a la cantidad de unidades de tiempo que deseas agregar o restar. Resultará ser mayor que cero cuando se quiera proyectar hacia el futuro y será negativo si se desea retroceder en el tiempo. Por ejemplo, si se quiere ir un año al pasado, tendríamos que poner “-1” en el número de intervalos, facilitando así un viaje temporal preciso y ajustado a tus requerimientos.
-
Unidad de tiempo
Finalmente, este es el tipo de intervalo de tiempo, como DÍA, MES o AÑO, que define el marco temporal de tu análisis.
Vamos al ejemplo práctico: Nacimientos de mascotas por año
En este ejemplo, utilizaremos la función DATEADD para analizar la tendencia anual de mascotas registradas en nuestra base de datos para mascotas. Si aún no has tenido la oportunidad de explorar este modelo, te invitamos a acceder al artículo en donde te proporcionamos un modelo de datos completamente accesible y te explicamos su funcionamiento para que puedas aprender a implementar DAX y realizar pruebas sobre un conjunto de datos ficticio.
En este artículo nuestro objetivo es comparar el número de nacimientos de mascotas de un año a otro para identificar tendencias, como aumentos o disminuciones significativas en el número de nacimientos.
Implementación de DATEADD en Power BI: Paso a paso para el análisis
-
1Revisar los datosPrimero que todo, deberemos asegurarnos de tener la tabla ‘Mascotas’ en nuestro modelo de datos de Power BI. Esta tabla debe incluir al menos dos columnas: “Fecha_Nacimiento” (la fecha de nacimiento de cada mascota) y la columna “ID_Mascota” (identificador único para cada mascota).
![Paso 1: Asegurarnos de tener la tabla ‘Mascotas’ en nuestro modelo de datos de Power BI](https://academiadeldato.com/wp-content/uploads/2023/12/dateadd-en-power-bi-1-paso.png)
-
2Crear una nueva medidaPara realizar este análisis, utilizaremos DATEADD para comparar el número de nacimientos de mascotas en el mismo periodo, pero en dos años diferentes. Para hacerlo seleccionaremos la tabla en cuestión y nos dirigiremos a generar una nueva medida:
![Seleccionar "Generar una nueva medida"](https://academiadeldato.com/wp-content/uploads/2023/12/dateadd-en-power-bi-2-paso.png)
Para realizar este análisis, utilizaremos DATEADD para comparar el número de nacimientos de mascotas en el mismo periodo, pero en dos años diferentes.
Para hacerlo, seleccionaremos la tabla en cuestión y nos dirigiremos a generar una nueva medida: Esta medida calcula el número de nacimientos que ocurrieron el año anterior para cada fecha de nacimiento registrada.
-
3Aplicar la fórmula DATEADD dentro de la función CALCULATEAplicaremos la siguiente función para poder contar el número de nacimientos durante el año anterior:
MASCOTAS_AÑO_ANTERIOR = CALCULATE(count(mascotas[ID_Mascota]),DATEADD('mascotas'[Fecha_Nacimiento].[Date],-1,YEAR))
COUNT(‘Mascotas’): Esta parte de la fórmula cuenta el número de filas en la tabla ‘Mascotas’, que representa el número de nacimientos de mascotas.
DATEADD(‘Mascotas'[Fecha_Nacimiento], -1, YEAR): Aquí es donde DATEADD entra en acción. Esta función ajusta las fechas de nacimiento de las mascotas en la tabla ‘Mascotas’ al año anterior. El primer argumento es la columna ‘Fecha_Nacimiento’, el segundo argumento ‘-1’ indica que queremos retroceder en el tiempo (un año atrás), y ‘YEAR’ especifica la unidad de tiempo que estamos ajustando.
CALCULATE: Finalmente, esta función nos permite cambiar el contexto del cálculo de nuestra medida, tomando la expresión COUNT y la recalcula bajo el nuevo contexto definido por DATEADD. Esto significa que, en lugar de contar todas las filas de la tabla ‘Mascotas’, hace que el COUNT cuente solo las filas donde las fechas de nacimiento caen en el año anterior al actual en cada fila.
-
4Aplicación visualPara la aplicación visual, realizaremos la siguiente evaluación. En primer lugar, añadiremos a un objeto visual del tipo tabla, en el cual agregaremos el campo “ID_MASCOTA” de la tabla “Mascotas”, junto con la métrica que hemos creado. Añadiremos un filtro de mes, extraído del campo Fecha de Nacimiento, del tipo DATE, para darle contexto al ejemplo:
![Uso práctico de DATEADD](https://academiadeldato.com/wp-content/uploads/2023/12/DATEADD-en-Power-BI.png)
Lo que nos devuelve Power BI es justamente el resultado esperado. El recuento por mes de los nacimientos de mascotas, en el lado izquierdo, corresponde al recuento normal que nos devuelve el contar la cantidad de nacimientos cada año en el mes de noviembre. Mientras que, en la columna de la derecha (MASCOTAS_AÑO_ANTERIOR), podemos ver que el resultado del nacimiento de mascotas se ha desfasado un año para cada registro. Por ejemplo, para el año 2021 en noviembre, el recuento de mascotas era de “41”, mientras que la medida (MASCOTAS_AÑO_ANTERIOR), devuelve “26”. Pero si vamos al año anterior en el 2020, veremos que el recuento de mascotas es “26”, lo cual coincide de manera directa con lo proporcionado por la métrica que hemos generado. Podemos ver que esto se cumple año a año, y que la métrica de mascotas del año anterior siempre devuelve el número de nacimientos con un año de desfase.
Esto sirve para graficar el funcionamiento de esta función. Si quisiéramos podríamos filtrar directamente un año en específico con la seguridad de que el valor por la función será siempre el del año anterior.
Conclusión
A lo largo de este artículo, hemos explorado la potente función DATEADD y su aplicación crucial en el análisis temporal dentro de Power BI. Al sumergirnos en el mundo de los datos, especialmente en nuestro ejemplo con la base de datos de mascotas, hemos visto cómo DATEADD no es solo una herramienta para manipular fechas, sino un medio esencial para desentrañar tendencias y patrones ocultos en el tiempo.
El conocimiento y la aplicación efectiva de DATEADD en Power BI transforman la forma en que interactuamos con nuestros datos, llevando nuestro análisis más allá de las cifras estáticas y permitiéndonos viajar a través del tiempo en nuestro conjunto de datos. Con esta función, los analistas y entusiastas de los datos pueden profundizar en el análisis histórico y prever escenarios futuros, mejorando así la calidad y la precisión de sus insights y estrategias.
En resumen, DATEADD es una función indispensable en el arsenal de cualquier usuario de Power BI, abriendo puertas a un análisis más dinámico y enriquecido con el tiempo. Su dominio no solo enriquece nuestro entendimiento
Puntos clave
Flexibilidad temporal: DATEADD es una herramienta esencial en Power BI para ajustar y analizar datos basados en tiempo, permitiendo comparaciones y análisis a lo largo de diferentes periodos.
Análisis comparativo: Facilita la comparación de datos a través del tiempo, como la evaluación de tendencias anuales, mensuales o diarias.
Aplicación en proyecciones futuras: No solo es útil para analizar datos históricos, sino también para proyecciones y análisis predictivos.
Mejora de visualizaciones: Es fundamental para crear visualizaciones temporales dinámicas que muestren cambios y tendencias a lo largo del tiempo.