Foro Empleos Academia Blog
Recursos
  • Ejemplos de dashboards
  • DatData Games
  • Alumnos destacados
  • Torneos pasados
Search Icon Iniciar sesión Inscribirme
Back arrow

DAX

hace 1 año

Inteligencia de tiempo

AlainLugo197

Buenas tardes Estimados, espero se encuentren muy bien, en esta oportunidad me gustaría hacer una consulta en cuanto a las opciones de Inteligencia de Tiempo, este es un tema fundamental en los procesos de análisis de datos y nos pone muy creativos, paso a explicar la duda,  tengo una tabla calendario con días laborales, feriados, temporadas de vacaciones, etc, y quise hacer el calculo de LY  utilizando la función de SAMEPERIODLASYEAR, (Ventas LY = CALCULATE([Venta], SAMEPERIODLASTYEAR(Dates[Date])) Pero cuando tengo un segmentador seleccionando fechas como jueves santo, viernes santo o lunes de carnaval y martes de carnaval los resultados que me devuelve no son los correspondientes a estas fechas ya que cuando busca el valor del año pasado ese valor corresponde al mismo día pero las fechas de semana santa o carnavales son diferentes, intente condicionar el calculo utilizando las funciones de FILTER y KEEPFILTER pero no obtuve resultado de hecho en la primera me salía un error y en la segunda me salía en blanco la tabla, ahora también tengo la duda si la función sameperiodlastyear es la que debo utilizar? Seria de gran ayuda si podrían guiarme a solventar esta inquietud, De antemano gracias por la atencion, Saludos
0 Votos
7
Respuestas
Respuestas

AlainLugo197

hace 1 año

Buenas noches estimados, luego de realizar varias pruebas pude obtener el valor esperado, a continuacion les comparto el codigo DAX Ventas LY HolidayName = CALCULATE([Ventas],     FILTER( ALL(Dates),     Dates[HolidayID] = SELECTEDVALUE(Dates[HolidayID]) && Dates[Year] = SELECTEDVALUE(Dates[Year]) -1)) DAX Con esto puedo obtener el valor esperado para cualquier feriado, con los valores de las fechas correspondientes, asi como muestra la imagen, ahora el inconveniente es que no puedo obtener el total , es decir solo tengo el total de ventas (6.860), tienen alguna sugerencia de que debo agregar al codigo para obtener los totales,   Saludos,    
0 Votos

dlom

hace 1 año

Está genial la fórmula que creaste Alain! Con respecto a la duda, a qué totales te refieres? Porque sí se ve el total en la tabla (6860). ¿Te refieres al total de las otras columnas, al total del año pasado, de otros cálculos o a cuál? Estoy atento.
0 Votos

AlainLugo197

hace 1 año

Gracias Estimado, esto ayuda a poder definir las nuevas estrategias de ventas de los holidays,  espero que le pueda servir este calculo a alguna persona de la comunidad, en cuanto a los totales me refiero al total de la otras columnas, solo pude obtener el de las ventas que es 6860, con el total de las otras columnas podria ver las variaciones totales en esos periodos de holidays y asi obtener un vision completa,  estuve revisando en formato del objeto visual y no encontre opcion, Nuevamente de antemano gracias por la colaboracion, Saludos
0 Votos

dlom

hace 1 año

Como ya tienes la lógica para la medida, para hacerlo para las otras columnas, simplemente tienes que cambiar esta parte en tu fórmula con la medida que quieres comparar:   De hecho este cambio lo vemos en el minuto 5:00 de esta clase https://www.datdata.com/products/certificacion-oficial-por-microsoft-de-power-bi/categories/3567095/posts/11910392.
0 Votos

AlainLugo197

hace 1 año

Gracias por la colaboracion, Saludos
0 Votos

AlainLugo197

hace 1 año

Buenas noches, paso por aqui nuevamente, ya que, se me presento un inconveniente con la expresion anterior la cual me muestra las ventas del año anterior tomando en cuenta el feriado, a continuacion copio nuevamente la expresion: Ventas LY HolidayName = CALCULATE([Ventas], FILTER( ALL(Dates), Dates[HolidayID] = SELECTEDVALUE(Dates[HolidayID]) && Dates[Year] = SELECTEDVALUE(Dates[Year]) -1))   Cuando aplico el filtro me aparece la venta actual y la venta del año anterior del feriado seleccionado,  pero cuando quise seleccionar otra opcion del filtro o segmentador, la tabla me elimima el ultimo valor, es decir me borra el ultimo cliente,   con los tres primeros valores del filtro todo fuciona bien, tengo mis 37 clientes pero cuando elijo el cuarto o quinto valor ocurre lo antes mencionado, solo 36 clientes primera vez que me sucede esto, todo los valores del filtro han funcionado bien, pero en este caso se presento este error, que podria sugerirme, gracias por la atencion
0 Votos

dlom

hace 1 año

Quizás desaparece porque esa dimensión (ese cliente) no tiene valor de la medida con esos filtros aplicados. El default en Power BI es no mostrar las dimensiones que no tienen valor en alguna medida de la visualización. Lo que puedes hacer es hacer clic derecho el campo de la dimensión en la medida (en el ejemplo de la imagen sería en donde está el punto #2) y seleccionar la opción de "Mostrar elementos sin datos".   La otra es agregar un "+ 0" (sumarle cero a tu medida) al final de la medida para que la medida regrese cero en lugar de BLANK. Quedaría algo asi: Ventas LY HolidayName = CALCULATE([Ventas], FILTER( ALL(Dates), Dates[HolidayID] = SELECTEDVALUE(Dates[HolidayID]) && Dates[Year] = SELECTEDVALUE(Dates[Year]) -1)) + 0   Este es un pequeño hack que en ocasiones ayuda, pero en otras ocasiones te puede generar comportamientos no esperados, por lo que es importante que valides que sí te está sirviendo en tu caso y no te afecta en otras visualizaciones.
0 Votos
Es necesario estar inscrito para dejar tu duda, comentario y/o respuesta

Sobre el alumno

AlainLugo197

Alain Lugo Franco

Cursos completados

Imagen del curso Publica tu portafolio de dashboards con herramientas gratis
Imagen del curso Máster en Diseño de Reportes
Imagen del curso Especialización en Transformación de Datos con Power Query
Imagen del curso Especialización en DAX con Power BI
Imagen del curso Especialización en Visualización de Datos con Power BI
Imagen del curso Especialización en Modelado de Datos con Power BI
Imagen del curso Aprende Power BI con proyectos sencillos

Más preguntas sobre el tema

uso de dax formatter

MALANIS

¿Cuál es mejor, crear la tabla calendario con DAX o con M?

luisaopc

problema - Lookupvalue

MartaESP

Total mostrado para los meses resaltados

JuanVelez21

Uso de CALCULATETABLE() y su diferencia con FILTER()

JuanVelez21

Recursos
  • Foro
  • Inscribirse
  • Blog
  • Ejemplos de dashboards
Cursos
  • Aprende Power BI con Proyectos
  • Análisis de Datos con Power BI y Excel
  • Especialización en Power Query
  • Certificación de Power BI
  • Tu Portafolio de Dashboards
Legales
  • Términos del servicio
  • Política de privacidad
  • Política de cookies
  • Contacto
  • Acerca
Canal de YouTube de datdata Cuenta de Linkedin de datdata Cuenta de Instagram de datdata Página de Facebook de datdata Cuenta de TikTok de datdata
© 2025 © datdata - Todos los derechos reservados