No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Inteligencia de tiempo

19/30
Recursos

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:

  1. Dale clic a “Obtener datos”“Consulta en blanco”. Esto abrirá el editor de Power Query
  2. Clic derecho a la consulta generada (Consulta1) → “Editor avanzado”.
  3. 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:
Selección de fechas
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”.
Ventas por año y mes

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í
Comparación ventas con ventas del mes anterior

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.

Aportes 133

Preguntas 37

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Sencillamente hermoso 💚💚💚 con este script que nos acabas de compartir puedo desglosar la información de una manera hermosa, en pasados videos había comentado, como hice para depurar información de datos (fechas) y eso en parte lo había hecho, con la intención de generar una nueva columna para saber los días de la semana (tema que considere crucial para realizar análisis), esta forma que nos estas presentando facilita mucho las cosas y es más liviano que alterar propiamente el dataset original como lo estaba haciendo de forma directa en Excel, realmente una genialidad, muchas gracias 💚💚💚💚

Adiós a la siguiente formula de Excel

=TEXTO(date;"DDDD")

Nuevamente muchas gracias

Comparto mi desarrollo de la clase:

Separé el grafico de crecimiento ( variación ) para darle una mejor visualización al informe

Wow que clase!!

Si alguien sabe si existe me dice, deberia existir la forma de marcar las clases favoritas para tenerlas en un sitio cercano y especial para acudir muchas veces a ellas

Que clase tan magistral.
Estos tipos de conocimientos son los que dan una perspectiva real del potencial de las herramientas y de las capacidades del profesor.
Enhorabuena!

Compañeros , comparto los apuntes de esta clase :
¿Qué es inteligencia de tiempo?
Hace referencia a las técnicas , herramientas y metodologías que nos permite analizar nuestras medidas minuciosamente a través del concepto de “tiempo” , es decir que esta presente en todas las soluciones de inteligencia de negocios como punto de partida para explorar la información :

  • Desde analizar evolución de nuestras medidas en tiempo , se utiliza una nueva dimensión (tablas) Fechas y calendario de manera continua sin que falle ni un solo dia entre las fechas , este funciona en nuestro modelo .
  • monitorear el crecimiento o descreimiento de manera detallada .
  • Realizar proyecciones .

aca les dejo el codigo para el Editor avanzado de Calendar.txt

let fnDateTable = (StartDate as date, EndDate as date, FYStartMonth as number) as table =>
 let
 DayCount = Duration.Days(Duration.From(EndDate - StartDate)),
 Source = List.Dates(StartDate,DayCount,#duration(1,0,0,0)),
 TableFromList = Table.FromList(Source, Splitter.SplitByNothing()),
 ChangedType = Table.TransformColumnTypes(TableFromList,{{"Column1", type date}}),
 RenamedColumns = Table.RenameColumns(ChangedType,{{"Column1", "Date"}}),
 InsertYear = Table.AddColumn(RenamedColumns, "Year", each Date.Year([Date]),type text),
 InsertYearNumber = Table.AddColumn(RenamedColumns, "YearNumber", each Date.Year([Date])),
 InsertQuarter = Table.AddColumn(InsertYear, "QuarterOfYear", each Date.QuarterOfYear([Date])),
 InsertMonth = Table.AddColumn(InsertQuarter, "MonthOfYear", each Date.Month([Date]), type
text),
 InsertDay = Table.AddColumn(InsertMonth, "DayOfMonth", each Date.Day([Date])),
 InsertDayInt = Table.AddColumn(InsertDay, "DateInt", each [Year] * 10000 + [MonthOfYear] * 100
+ [DayOfMonth]),
 InsertMonthName = Table.AddColumn(InsertDayInt, "MonthName", each Date.ToText([Date],
"MMMM"), type text),
 InsertCalendarMonth = Table.AddColumn(InsertMonthName, "MonthInCalendar", each
(try(Text.Range([MonthName],0,3)) otherwise [MonthName]) & " " & Number.ToText([Year])),
 InsertCalendarQtr = Table.AddColumn(InsertCalendarMonth, "QuarterInCalendar", each "Q" &
Number.ToText([QuarterOfYear]) & " " & Number.ToText([Year])),
 InsertDayWeek = Table.AddColumn(InsertCalendarQtr, "DayInWeek", each
Date.DayOfWeek([Date])),
 InsertDayName = Table.AddColumn(InsertDayWeek, "DayOfWeekName", each Date.ToText([Date],
"dddd"), type text),
 InsertWeekEnding = Table.AddColumn(InsertDayName, "WeekEnding", each
Date.EndOfWeek([Date]), type date),
 InsertWeekNumber= Table.AddColumn(InsertWeekEnding, "Week Number", each
Date.WeekOfYear([Date])),
 InsertMonthnYear = Table.AddColumn(InsertWeekNumber,"MonthnYear", each [Year] * 10000 +
[MonthOfYear] * 100), 
 InsertQuarternYear = Table.AddColumn(InsertMonthnYear,"QuarternYear", each [Year] * 10000 +
[QuarterOfYear] * 100),
 ChangedType1 = Table.TransformColumnTypes(InsertQuarternYear,{{"QuarternYear",
Int64.Type},{"Week Number", Int64.Type},{"Year", type text},{"MonthnYear", Int64.Type}, {"DateInt",
Int64.Type}, {"DayOfMonth", Int64.Type}, {"MonthOfYear", Int64.Type}, {"QuarterOfYear",
Int64.Type}, {"MonthInCalendar", type text}, {"QuarterInCalendar", type text}, {"DayInWeek",
Int64.Type}}),
 InsertShortYear = Table.AddColumn(ChangedType1, "ShortYear", each Text.End(Text.From([Year]),
2), type text),
 AddFY = Table.AddColumn(InsertShortYear, "FY", each "FY"&(if [MonthOfYear]>=FYStartMonth
then Text.From(Number.From([ShortYear])+1) else [ShortYear]))
in
 AddFY
in
 fnDateTable

Espectacular ese Script para inteligencia del tiempo. Estaría muy bueno un curso especifico de Lenguaje M con el cual cualquier de nosotros pudiera desarrollar sus propios scripts.

Que nutrida esta clase, nos dan 2️⃣ buenas practicas muy importantes:
✅ Generar una tabal de tiempo (☺Con el código🤗)
✅ Generar una tabla de medidas que nos hará ver y ser profesionales.
Excelente @Renzo Roca

Adicional a las columnas propuestas por el profesor incluí una columna donde se muestra el porcentaje de crecimiento.

Gracias expandir, me hubieras servido mucho hace 3 clases, pero te amo

Sencillamente HERMOSO:

El Script aportado vale ORO ¡¡¡ ahorro de horas de trabajo, gracias ¡¡

Hola, quiero compartir un poco sobre la evolución de los gráficos de esta clase

Esta clase ha sido oro puro para mí 🥇. He aprendido como se hace algo que buscaba hace tiempo en Power BI: a comparar con escalas de tiempo, mis reportes serán mejores de aquí en adelante 😊.

A mi me aparece un poco diferente. Ja, ja.
Pero al final de cuentas la misma información.

Les comparto mi reporte actualizado.

Cualquier consulta me escribe aquí.

Vaya, interesante clase, PARALLELPERIOD esta muy bueno, así puedes realizar varios tipos de comparativos, me pregunte, y si comparamos solo un año con el año anterior? y me dio de resultado esto:

El script esta genial!! Gracias

que clase tan interesante

Me encanta el curso, yo tomé el curso que anteriormente estaba en la ruta pero este nuevo curso si que genero un gran valor.

Para utilizar este tipo de análisis dentro de power bi, se necesita primero crear una nueva dimensión. A estas tablas se les conoce como: dimensión tiempo, dimensión calendario, tabla de fechas o calendario y funciona como una dimensión para un nuevo modelo. Fechas de manera continua sin saltos.

Me encantan esos apuntes, son extremadamente útiles para cuando uno quiera retomar el tema más adelante en una situación real, de seguro me servirán un montón.

gracias platzi

Funciones de inteligencia de tiempo: https://learn.microsoft.com/es-mx/dax/time-intelligence-functions-dax

Te invito a dejar una reseña al finalizar el curso y escribirme en LinkedIN para validar tu aptitud.

Muchas gracias.

Saludos,
Renzo Roca.
https://www.flowcode.com/page/renzoroca

Les dejo una interpretación del gráfico de la clase, utilizando una combinación de barras y línea es más clara la tendencia de crecimiento. Muy buena la clase

Les comparto el ejercicio de la clase

Hola, no logro generar las ventas del mes anterior, ¿Que estaré incluyendo mal?

Muy buena clase, divertida y entretenida!!

Excelente el ejercicio de esta clase me pareció super intensante poner en practica con mis archivos de la empresa para ir imprentado nuevas formas de visualizar la información que manejamos en nuestro dia a dia y tomas nuevas decisiones.

De esta clase me llevo lo del pararelperiod, muy util yo siempre sacaba la medida para el mes anterior aparte.

Aporte: Cuando quieran comparar…Ejemplo, ventas del mes de junio del anio actual con las ventas de junio el anio pasado usen la formula SAMEPERIODLASTYEAR.

Excelente me encanto este tema para el manejo del tiempo. gracias !!!

Excelente clase.

Excelente clase muchas gracias

Excelente clase!

Excelente
Estoy llevando el curso para obtener un nivel avanzado de Power BI; esta clase fue muy buena. Que buen aporte las funciones de inteligencia de tiempo.👏
buen Dia, a que se deben las columnas en blanco? ya revise la tabla y no tiene campos vacios? ![](https://static.platzi.com/media/user_upload/image-cc9bbcbb-10ef-468c-9bdb-bcbbe5e38334.jpg)![](https://static.platzi.com/media/user_upload/image-55e8691e-9adb-4840-a6d4-a646346a440b.jpg)
cuál es la diferencia entre la medida implícita y explicita?
En la tabla de calendario o fechas, yo puedo elegir el rango de fecha, ejemplo el año 2023 o esta tabla solo me indica ese rango del 01/01/2015 al 31/12/2017 ?
Excelente clase!!!
![](https://static.platzi.com/media/user_upload/image-994f9ea6-aef3-4100-852b-95e909fc9e53.jpg)
Muy buena la clase, me hubiera gustado ver otros ejemplos con el suo de las formulas que se mostraron en el slide de la clase. Por lo demas me gusta mucho que da buenas practicas y herramientas que nos pueden servir para el dia a dia como lo es el script

Para los que estén un poco perdidos en como hacer la gráfica de líneas y barras simultáneas (tal como lo hicieron algunos en los comentarios), lo que tienen que hacer es cambiar el tipo de gráfica por una que permita dicho comportamiento como las que subrayo en la foto y poner lo que quieran que se vea como línea en el eje Line y-axis:

excelente clase
super buena las clase y los tips!!
No he entendido muy bien el concepto de las tablas de medidas y de por que se utilizan
Y si necesito cambiar las fechas a la tabla de fechas se puede?
Que buena y interesante clase, ahí sí se le ve la utilidad a lo de medidas
Esta clase es muy interesante, aquí les dejo mi ejercicio: ![](https://static.platzi.com/media/user_upload/imagen-c78089aa-9aba-4a54-a963-4d29a3970f17.jpg)
![](https://static.platzi.com/media/user_upload/image-e87edd90-fd1f-4efe-9a78-5360fce1e540.jpg)
<https://learn.microsoft.com/es-mx/dax/time-intelligence-functions-dax> Aquí encuentran la explicación de las funciones.
No logré encontrar el script del lenguaje M, en los recursos disponibles. Se eliminó el archivo?
Cuando creo la tabla\_fechas, los nombres de días, meses y demás se me crean en inglés. Intento de cambiar el tipo y ponerlo regional en español pero sigue en ingles. Agradezco si alguien ha podido arreglar esto.
Chulada de clase
donde puedo descagar el recurso con los archivos para hacer las practicas
![](https://static.platzi.com/media/user_upload/image-9d28f4f1-8264-4a4a-8eac-4578b19a9e05.jpg)
Muy interesante esta clase
fascinada con el tooltip gracias 🙂
gracias 🙂
Aunque en un modelo que tengas múltiples tablas de hechos, lo ideal es crear una dimensión de fechas empleando la función CALENDAR, tomando como referencia el punto mínimo y máximo de una tabla clave, porque una desventaja de CALENDARAUTO es que toma el punto mínimo y máximo de todas las tablas de hechos y puede que la necesitemos de manera acotada.
Excelente lección, muchas mas herramientas para poner en práctica. ![](https://static.platzi.com/media/user_upload/image-50a1547a-4b31-4699-8d5a-d050bf2d691f.jpg)
Excelente clase 👏🏻👏🏻
Los recursos ya no se encuentran disponibles :(

Muy buena clase. Si pudiéramos ver el producto final antes de desarrollarlo, creo que la experiencia sería más enriquecedora.

Adjunto mi ejercicio, esta es realmente una herramienta poderosa para presentar datos en el tiempo.

La funcionalidad de CALCULATE, veo que se parece bastante a la de las funciones SI.CONJUNTO de excel, o al menos así me parece a mí.

Mañana tengo entrevista de trabajo y estoy tomando esta locura de curso de nuevo, gracias

Explicación Medida implícita y medida explicita.

sublime

Tipos de funciones: Devuelven una sola fecha: FIRSTDATE, LASTDATE, STARTOFMONTH, STARTOFQUARTER, STARTOFYEAR. Devuelven una tabla de fechas: PARALLELPERIOD, DATEADD, DATEBETWEEN, DATESYTD. Evalúan expresiones a lo largo de un periodo de tiempo: TOTALMTD, TOTALQTD, TOTALYTD. Dan apoyo en análisis financieros: OPENINGBALANCEMONTH, OPENINGBALANCEYEAR, CLOSINGBALANCEMONTH.

Mi resultado de la Práctica:

Inteligencia de tiempo. 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 explotar 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.

Maravillosa Clase

excelente, una super clase

El script de la tabla calendario va a ser de gran ayuda para los reportes, y es algo que deberia, como bien dice la clase, estar presente en todas las soluciones de BI", muchas empresas aun trabajan solo con información mes a mes o año a año y se pierde esa capacidad de realizar BI mediante inteligencia de tiempo.

Asi quedó mi tablero con los data viz de la clase (no agregue venta mes anterior al grafico de columnas para no generar carga cognitiva, para profundizar en los datos queda la tabla):

qué manera tan eficiente de realizar los estudios en base a tiempo 😄 100/10

Que excelente clase, una muy buena aplicación de la lógica para el uso de los tiempos, con este ejemplo se puede aplicar a muchos esquemas, gracias profe Renzo, sencillamente un crack !!!

Me encantó esta lección!!

Qué genial todo esto!!!

Esta clase me ha gustado mucho

excelente aporte¡¡¡

Se pudo buena la cosa con el PowerBi…jajajaja

Que clase tan buena!!

Usen DAX para crear la tabla de fechas, no les recomiendo PQ. Saludos.

Les comparto lo realizado en clase 😃

Otra forma menos larga de las venta s mes anterior:
Ventas mes anterior = CALCULATE([Total de Ventas],PREVIOUSMONTH(tabla_fechas[Date]))

Tengo otro DAX para calcular las ventas del mes anterior:

Ventas Mes/Anterior =
CALCULATE(
[Total de Ventas],
DATEADD(Tabla_Fechas[Date] , -1 , MONTH ))
.
.
Excelente clase, la práctica es la mejor manera de aprender.

done

Excelente clase profe, estos conceptos me van a servir para desarrollar un dashboard mucho mas completo al cierre de mes en la empresa que trabajo, gracias!

Este Script esta estupendo crea una tabla calendario con todos los campos nescesarios para hacer varios análisis

Está clase es la mejor del curso. Demasiado útil

El script muy interesante para crear una tabla de tiempo.

Gracias. Muy buena clase.

Nunca he trabajado con power BI pero con estas clases veo que es muy fantástico que hayan inventado este software…y más con la explicación del profesor…hasta mii hermanito menor lo entiende.

En mi visualizacion, de acuerdo al mes seleccionado, se actualizan los valores en las tarjetas