Inteligencia de tiempo hace referencia a las técnicas, herramientas y metodologías que nos permiten analizar nuestras medidas minuciosamente a través del tiempo. Está presente en todas las soluciones de inteligencia de negocios como punto de partida para explorar la información.
La inteligencia de tiempo permite analizar la evolución de nuestras medidas en tiempo, monitorear el crecimiento de manera detallada y realizar proyecciones.
Funciones de inteligencia de tiempo
Puedes encontrar una explicación de las diferentes funciones de inteligencia de tiempo en la documentación. Hay distintos tipos de funciones:
- Devuelven una sola fecha: FIRSTDATE, LASTDATE, STARTOFMONTH, etc.
- Devuelven una tabla de fechas: PARALLELPERIOD, DATEADD, DATEBETWEEN, etc.
- Evalúan expresiones a lo largo de un periodo de tiempo: TOTALMTD, TOTALQTD, TOTALYTD.
- Dan apoyo en análisis financieros: OPENINGBALANCEMONTH, OPENINGBALANCEYEAR, CLOSINGBALANCEMONTH, etc.
Aplicando inteligencia de tiempo
Veamos cómo podemos usar estas funciones a nuestro favor.
Crear una tabla calendario
En Power BI se utiliza una nueva dimensión/tabla conocida como tabla de fechas o calendario, de manera continua sin que falte ni un solo dia entre las fechas. Esta tabla tiene todo el rango de fechas existentes en nuestro modelo (o al menos las necesarias para el análisis).
Pasemos a la práctica. Conéctate al archivo Ventas - Fundamentos y carga las tablas de ventas y vehículos. Recuerda relacionar las tablas mediante el campo ID_Vehículo.
Para crear la dimensión de calendario, tenemos dos opciones. La primera es con la función CALENDARAUTO, que se explora aquí. Ahora, nos vamos a enfocar en la segunda:
- Dale clic a “Obtener datos” → “Consulta en blanco”. Esto abrirá el editor de Power Query
- Clic derecho a la consulta generada (Consulta1) → “Editor avanzado”.
- Copia y pega en la ventana emergente el contenido del archivo Tabla Calendario.txt (está en la carpeta del curso). Dale clic en “Listo”. El contenido de este archivo es un script en lenguaje M.
Este script habilita el siguiente menú, el cual permitir un rango contínuo de fechas para crear la consulta:
En “StartDate” colocamos 1/1/2015, en “EndDate” 31/12/2017 y en “FYStartMonth” colocamos 1. Le damos a invocar. Esto nos va a generar una tabla de fechas continuas en el rango especificado, además de muchas columnas correspondientes a distintas partes de la fecha. Podemos cambiarle el nombre a tabla_fechas. Cerramos y aplicamos.
Ahora, debemos relacionar la tabla_fechas (mediante el campo Date) con la tabla_ventas (campo Fecha). Esto nos permitirá usar los campos de tabla_fechas en visualizaciones junto con la tabla_ventas.
Aplicar funciones de inteligencia de tiempo
Antes de comenzar, al igual que hiciste en esta práctica, lo primero que debes crear es una tabla para las medidas (tabla_medidas) con la opción “Especificar datos”. Añade una medida a la tabla_medidas llamada Total de Ventas usando la fórmula Total de Ventas = SUM(tabla_ventas[Precio Venta sin IGV])
.
Cabe destacar que Total de Ventas es una medida explícita. Distinto a una medida implícita que se puede generar cuando arrastramos alguna columna a un campo de una visualización.
Procedamos a crear un gráfico de columnas agrupadas, donde veamos el Total de Ventas por mes y año. Para ello haz clic en el ícono de gráfico de columnas aplicadas. Lleva la columna Date de tabla_fechas a “Eje X” y deja solo los campos Year y Month. Luego, lleva el Total de Ventas a “Eje Y” y haz clic en “Expandir todo un nivel en la jerarquía”.
Ahora, ¿qué pasa si queremos comparar las ventas de un mes con las del mes anterior? Por ejemplo, si queremos ver las ventas de febrero 2015 y compararlas con las de enero 2015, y así para todos los meses.
Para ello creamos una nueva medida llamada Ventas del mes anterior. Esta medida la crearemos con las funciones CALCULATE (que nos permite filtrar o contextualizar otras medidas) y PARALLELPERIOD (que devuelve una columna de fechas desplazadas cierto periodo de tiempo respecto a otra columna de fechas).
La fórmula DAX para esta medida es la siguiente:
Ventas del mes anterior = CALCULATE(Tabla_medidas[Total de Ventas], PARALLELPERIOD(tabla_fechas[Date], -1, MONTH))
Ahora podemos incluir esta medida en la visualización. Nos queda así
Podemos ir aún más lejos y calcular la diferencia entre las ventas de un mes con las del mes anterior. Esto nos va a dar el (de)crecimiento de ventas mes a mes. Para esto, simplemente creamos una nueva medida así:
Creacimiento = Tabla_medidas[Total de Ventas] - Tabla_medidas[Ventas del mes anterior]
Contribución creada con aportes de: Ciro Villafraz.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?