camilo franco
Juan R. Vergara M.
Excelente 📝
Lucas Bertogliati
Buenísimo!!! Consulta, cómo generas esas barras de color para variaciones positivas y negativas?
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:
¿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:
PREVIOUSMONTH para seguimiento mensual.PARALLELPERIOD y desplazamiento de -4 trimestres.DATEADD y desplazamiento de -12 meses.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.
camilo franco
Juan R. Vergara M.
Excelente 📝
Lucas Bertogliati
Buenísimo!!! Consulta, cómo generas esas barras de color para variaciones positivas y negativas?
Jonathan Jimenez
¿Por qué esta mal Septiembre y es Setiembre?
Renzo Roca
ProfesorHola Jonathan, no es que este mal, es un tema de reconocimiento de la configuración regional de la PC :)
Saludos, Renzo Roca - https://www.flowcode.com/page/renzoroca
JEAN BERNAL
A mi me funcionó bien al cambiar el tipo de dato de texto a fecha, sin ningún error... Considero importante que el profesor explique por qué para él resultó ese error, porque a nosotros no se nos presentó el mismo y algunos quedamos con la duda entonces.
Irmin Corona 🐯
Intenté crear una nueva columna.
Cambié mi configuración a español.
Nada me funciona, ayuda. 😭
Renzo Roca
ProfesorHola Imin, cómo estás. Entiendo que este punto pudo salirte por un tema de configuración regional dónde el formato no reconoce la fecha, trata de crear una columna calculada a partir de ejemplos, donde el formato del texto si sea compatible con el reconocimiento de la fecha.
Saludos, Renzo Roca - https://www.flowcode.com/page/renzoroca
Irmin Corona 🐯
Venta_Mes_Anterior = CALCULATE( [Total_Ventas], PREVIOUSMONTH(Dim_Fechas[Date]) ) ---------------------------------------- Venta_Trimeste_Año_Anterior = CALCULATE( [Total_Ventas], PARALLELPERIOD( Dim_Fechas[Date], -4, QUARTER ) ) ---------------------------------------- Venta_Año_Anterior_1 = CALCULATE( [Total_Ventas], PARALLELPERIOD( Dim_Fechas[Date], -12, MONTH ) ) ---------------------------------------- Venta_Año_Anterior_2 = CALCULATE( [Total_Ventas], DATEADD( Dim_Fechas[Date], -12, MONTH ) )
Diego Mauricio Zuluaga Rodríguez
¿Por qué debo corregir fechas con Power Query?
Para que tu modelo de datos funcione correctamente, todas las tablas de hechos (como ventas o presupuestos) deben tener un formato de fecha estandarizado que pueda relacionarse con tu dimensión de tiempo. A menudo, los datos crudos vienen con errores tipográficos, formatos de texto en lugar de fechas reales, o columnas separadas para el año y el mes.
Al utilizar Power Query, puedes limpiar estas inconsistencias antes de que lleguen a tu reporte. Por ejemplo, puedes combinar columnas para formar una fecha completa, reemplazar valores de texto incorrectos y, lo más importante, cambiar el tipo de dato a Fecha. Si omites este paso y dejas errores en los datos, las relaciones entre tus tablas fallarán y las funciones de inteligencia de tiempo en DAX arrojarán resultados en blanco o incorrectos. Es el cimiento para que toda tu analítica temporal sea precisa.
Dennis Villena
no se porque no me sale distintivo como en el video
Mario Javier Bonilla Girón
Holaa, intenta revisar desde la vista de modelo, que haya una relación entre la tabla fact_ventas con la dim_fecha a través de la columna **<u>datekey. </u>**Puede que el error se deba a que no haya comunicación entre las ventas y las fechas de cada tabla.
Espero ayude :)
Kevin León Lazcano
Hola, en mi caso el error estuvo en que estaba agregando la variable "Date" de otra tabla, recuuerda que se hizo otra tabla llamda Dim_Fechas_S1, de igual manera asegura que esté bine la relacion de la Pkey como comenta el compañero Mario :)
Johann Sebastián Suárez
Gente, muy importante que llamen a la tabla el campo "Date" correspondiente a Dim_Fechas, si llaman Dim_Fecha_S1, No les traerá los datos del mes anterior!!!
Juan Pablo Ramírez Ruiz
No me deja seleccionar las dos columnas de periodo y mes para combinarlas, me pueden decir cómo? muchas gracias.
Lorena Reyes Valdiviezo
Tambien me sale en blanco, y ya revise el formato de fecha
Lorena Reyes Valdiviezo
El error estaba aqui, en la relacion de Date con fecha presupuesto
Laura Vanessa Valencia Henao
Holaa, alguien me podría ayudar con esto? es que no me salen los valores del total de ventas por mes sino el valor total
Alexander Beltran
Hola, asegúrate de haber aplicado la formula Venta_Mes_Anterior = CALCULATE( [Total_Ventas], PREVIOUSMONTH(Dim_Fechas[Date]) )
Lina Ospina
Luis Quiroz Prada
Funciones de tiempo Time - DAX Power BI
José Jovan Torres Manjarrés
A mi me siguió apareciendo error aún cuando cambié setiembre por septiembre. Entre otras cosas, no se explicó cómo identificó que ahí estaba el error.
Karen Aracely Urbina Amaya
Por que hay una tabla dim fecha y otra dim calendario? cual es la diferencia practica entre ambas?
Camilo Hernando Lozano Estupiñan
hola, si quiero conocer las ventas del día anterior
¡Hola, Camilo Hernando! Para traer datos de un periodo anterior, la clave es siempre el contexto de filtro que aplicas sobre tu tabla calendario.
Si ya tienes tu Total de Venta y tu tabla de fechas conectada, ¿qué función de inteligencia de tiempo crees que te permitiría desplazar el filtro exactamente un día hacia atrás?
Stefano Rojas Bloise
La función DAX PARALLELPERIOD y DATEADD permiten realizar cálculos de tiempo, pero tienen diferencias clave. PARALLELPERIOD devuelve un conjunto de fechas paralelo a la fecha dada, permitiendo definir un intervalo como meses, trimestres o años. Por ejemplo, puedes traer datos del mismo trimestre del año pasado. Por otro lado, DATEADD desplaza una fecha por un número específico de intervalos de tiempo (días, meses, años) pero no permite especificar períodos paralelos, solo suma o resta.
Ambas son útiles para análisis temporales, pero su aplicación depende del contexto específico que necesites en tus reportes de Power BI.
Ivan Hernandez Mijares
El número -4 se utiliza para referirse a un período de cuatro trimestres atrás en la función Parallel Period. En este contexto, significa que se está recuperando la venta del trimestre correspondiente del año anterior. Esta técnica es clave para realizar comparaciones temporales efectivas y evaluar el rendimiento en Power BI, permitiendo identificar tendencias y patrones a lo largo del tiempo. Utilizar números diferentes permitiría consultar otros períodos, como meses o años específicos.
camilo pava
No entiendo por qué generó la tabla calendario usando Power Query y no como todas las anteriores?
Carlos Vásquez Agudelo
Cuál sería la mejor manera para abordar los comparativos por ejemplo de ventas, producción u otros para las semanas del año ?
Solano Hilario
Yo ya hice este curso, por que me sale para tomarlo otra vez?. Le pasa a alguien mas?
Roberto Arriaga
Probablemente lo hayan actualizado
🤖 Tambien se puede usar la función SAMEPERIODLASTYEAR de la siguiente forma !!!
<Ventas Año anterior SAMEPERIODLASYEAR = CALCULATE( [Total Ventas], SAMEPERIODLASTYEAR(Dim_Fechas[Date]))>
Con la medida ya creada se pueden calcular variaciones 👆🏽 😱🤖!!!
Gracias, Profesor Renzo, tu solución fue de gran ayuda. A continuación, comparto mi código y una captura de pantalla para ilustrar los pasos que seguí:
Creé una columna calculada llamada MonthYearColumn.
Utilizando la vista de modelo, establecí una relación de uno a muchos.
Este método alternativo funcionó perfectamente, permitiéndome avanzar sin inconvenientes.
MonthYearColumn = SWITCH( LOWER([mes]), "enero", "01", "febrero", "02", "marzo", "03", "abril", "04", "mayo", "05", "junio", "06", "julio", "07", "agosto", "08", "septiembre", "09", "octubre", "10", "noviembre", "11", "diciembre", "12", BLANK() ) & "-" & FORMAT([periodo],"0000")
Hola :( Tengo el mismo problema. El Total de ventas no se está discriminando por fecha(Imagen 1); sin embargo, veo que por DateKey sí se discrimina(Imagen 2). ¿Alguien sabe a qué se debe esto?