Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Vote for your favorite vizzies from the Power BI Dataviz World Championship submissions. Vote now!

Reply
Anonymous
Not applicable

Medidas de inteligencia de tiempo con tabla de calendario dinámico

Hola a todos! Espero ayuda.

He estado teniendo problemas con mis medidas de inteligencia de tiempo: o bien no extraen datos (cuando los datos deben estar presentes) o datos incorrectos. Sólo uno está funcionando correctamente. Tengo la sensación de que esto tiene que ver con el hecho de que utilizo una tabla de calendario dinámica que siempre sale hasta el final del año y no se detiene con la fecha de hoy. Mi tabla de calendario anterior se detuvo en la fecha de hoy y mis medidas funcionaron correctamente, pero se detuvo cuando hice que mi calendario siempre fuera hasta fin de año.

Estoy usando las siguientes medidas:

MTD actual: TOTALMTD(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),Calendar[Date])

QTD actual : TOTALQTD(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),Calendar[Date])

YTD actual á TOTALYTD(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),Calendar[Date])

El mismo mes del año pasado ? CALCULATE(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),PARALLELPERIOD('Calendar'[Date],-12,MONTH))

Mismo MTD el año pasado - CALCULATE(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),SAMEPERIODLASTYEAR(LASTDATE('Calendar'[Date])))

Mismo trimestre del año pasado ? CALCULATE(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),PREVIOUSQUARTER('Calendar'[Date]))

Mismo QTD El último año - CALCULATE(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),DATEADD(DATESQTD(Calendar[Date])-1,YEAR))

El año pasado ? CALCULATE(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),PREVIOUSYEAR('Calendar'[Date]))

Ultima YTD ? CALCULATE(SUM('Table1'[Revenue])+SUM('Table2'[Revenue]),DATEADD(DATESYTD(Calendar[Date])-1,YEAR))

Más allá de los 30 días CALCULATE([Total Revenue],CALCULATETABLE('Calendar',FILTER('Calendar,[Past 30]?TRUE())))

Más allá de los 60 días CALCULATE([Total Revenue],CALCULATETABLE('Calendar',FILTER('Calendar,[Past 60]?TRUE())))

Más allá de 90 Días CALCULATE([Total Revenue],CALCULATETABLE('Calendar',FILTER('Calendar,[Past 90]?TRUE())))

Pasados 120 Días CALCULATE([Total Revenue],CALCULATETABLE('Calendar',FILTER('Calendar,[Past 120]?TRUE())))

Calendario Medidas mencionadas anteriormente, w/ 30/60/90/120 respectivamente:

Pasado 30 - VAR EndDate ? EOMONTH(TODAY(),-1) VAR StartDate ? EDATE(EOMONTH(TODAY(),-1),-1)+1 RETURN IF('Calendar'[Date])>'StartDate && Max('Calendar'[Date])<'EndDate,True(),False())

Esto es lo que los datos deben ser:

Correct Time Periods.JPG

Pero aquí es lo que estoy recibiendo:

Incorrect Time Periods.JPG

Y aquí hay una imagen de mi tabla de calendario si ayuda:

calendar.JPG

¿Qué estoy haciendo mal??? ¡Gracias!

1 ACCEPTED SOLUTION
amitchandak
Super User
Super User

@EdenHutch

Consulte estas fórmulas. Pero recuerda como tu calendario va hasta la fecha de finalización del año. Necesita tener algún tipo de filtro en visual o página para detener la fecha máxima para los últimos días o incluso para ytd si desea datos hasta hoy.

Pasados 30 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-30,Day))
Pasados 60 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-60,Day))
Pasados 90 días: CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-90,Day))
Pasados 120 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-120,Day))

O
Pasados 30 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-30,DAY))  
Pasados 60 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-60,DAY))  
Pasados 90 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-90,DAY))  
Pasados 120 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-120,DAY))  

Día detrás de las Ventas: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Day))
Hoy en día, CALCULATE(SUM(Sales[Sales Amount]),filter('Date','Date'[Date]-Today())

Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(Sales[Sales Date]),-12,MONTH))
Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],max(Sales[Sales]),-12,MONTH))  

Rodar 3 hasta el mes pasado: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(dateadd(Sales[Sales Date],-1,month)),-3,MONTH))
Rodar 3 hasta los últimos 2 meses: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(dateadd(Sales[Sales Date],-2,month)),-3,MONTH))

Rodar 11 hasta después de 6 meses, CALCULATE(sum('BI CompOrders_Trend_Tbl'[order_quantity]),DATESINPERIOD('Date'[Date],startOFMONTH(dateadd(Sales[Sales Date],6,month)),11,MONTH))

Rolling 3 - CALCULATE(distinctcount(Transation[Month-Year]),DATESINPERIOD('Date'[Date],today(),-3,MONTH))+0
Rolling 3 - CALCULATE(distinctcount(Transation[Month-Year]),DATESINPERIOD('Date'[Date],today(),-3,MONTH))+0
Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(Sales[Sales Date]),-12,MONTH)) 
Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales Date]),-12,MONTH))  
Ventas de MTD de 3 meses de retroceso: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-3,MONTH)))

Ventas de MTD: CALCULATE(SUM(Sales[Sales]),DATESMTD('Fecha'[Fecha]))
ventas de MTD más importantes: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
último MTD (completo) Ventas - CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
el año pasado MTD (completo) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-12,MONTH))))
el año pasado MTD Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-12,MONTH)))
el último QTR mismo mes (completo) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,Qtr))))
MTD (fin de año) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFYEAR('Date'[Date]))))
MTD (último fin del año) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFYEAR(dateadd('Date'[Date],-12,MONTH),"8/31")))

Ventas DE QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(('Fecha'[Fecha])))
Ventas de QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-1,QUARTER)))
Ultima hasta la última cantidad de ventas QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-2,QUARTER)))
Próximas ventas qtd ( CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],1,QUARTER)))
El año pasado mismo Sint. Ventas de QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-1,Year)))
QTR finales - CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,QUARTER))
trailing 4 QTR - CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-4,QUARTER))

YTD Ventas- CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(('Date'[Date]),"12/31"))
This Sales á CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESYTD((ENDOFYEAR('Date'[Date])),"12/31"))
Ventas de última ytd: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Ventas completas de last YTD: CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Ultima hasta la última venta de YTD: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Año detrás de Las Ventas (CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Año + 3 semanas detrás de Las Ventas - CALCULATE(SUM(Sales[Sales Amount]),dateadd(dateadd('Date'[Date],-1,Year),-21,Day))
55 semanas detrás de Las Ventas -CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],365+12,Day))
Ventas completas de last YTD: CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Ultima hasta la última ytD ventas completas - CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-2,Year)),"12/31"))

Ventas de Cumm: CALCULATE(SUM(Sales[Sales[SalesImporte]), filtro (fecha, fecha[fecha] <-maxx(date,date[date])))
Ventas de Cumm: CALCULATE(SUM(Sales[Sales Amount]),filter(date,date[date] <=maxx(date,max(dateadd(date[date]),-1,year))))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

View solution in original post

3 REPLIES 3
amitchandak
Super User
Super User

@EdenHutch

Consulte estas fórmulas. Pero recuerda como tu calendario va hasta la fecha de finalización del año. Necesita tener algún tipo de filtro en visual o página para detener la fecha máxima para los últimos días o incluso para ytd si desea datos hasta hoy.

Pasados 30 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-30,Day))
Pasados 60 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-60,Day))
Pasados 90 días: CALCULATE(sum(Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-90,Day))
Pasados 120 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],today(),-120,Day))

O
Pasados 30 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-30,DAY))  
Pasados 60 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-60,DAY))  
Pasados 90 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-90,DAY))  
Pasados 120 días: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales]),-120,DAY))  

Día detrás de las Ventas: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Day))
Hoy en día, CALCULATE(SUM(Sales[Sales Amount]),filter('Date','Date'[Date]-Today())

Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(Sales[Sales Date]),-12,MONTH))
Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],max(Sales[Sales]),-12,MONTH))  

Rodar 3 hasta el mes pasado: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(dateadd(Sales[Sales Date],-1,month)),-3,MONTH))
Rodar 3 hasta los últimos 2 meses: CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(dateadd(Sales[Sales Date],-2,month)),-3,MONTH))

Rodar 11 hasta después de 6 meses, CALCULATE(sum('BI CompOrders_Trend_Tbl'[order_quantity]),DATESINPERIOD('Date'[Date],startOFMONTH(dateadd(Sales[Sales Date],6,month)),11,MONTH))

Rolling 3 - CALCULATE(distinctcount(Transation[Month-Year]),DATESINPERIOD('Date'[Date],today(),-3,MONTH))+0
Rolling 3 - CALCULATE(distinctcount(Transation[Month-Year]),DATESINPERIOD('Date'[Date],today(),-3,MONTH))+0
Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date],ENDOFMONTH(Sales[Sales Date]),-12,MONTH)) 
Rolling 12 - CALCULATE(sum(Sales[Sales[Sales Amount]),DATESINPERIOD('Date'[Date Filer],MAX(Sales[Sales Date]),-12,MONTH))  
Ventas de MTD de 3 meses de retroceso: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-3,MONTH)))

Ventas de MTD: CALCULATE(SUM(Sales[Sales]),DATESMTD('Fecha'[Fecha]))
ventas de MTD más importantes: CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
último MTD (completo) Ventas - CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
el año pasado MTD (completo) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-12,MONTH))))
el año pasado MTD Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-12,MONTH)))
el último QTR mismo mes (completo) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,Qtr))))
MTD (fin de año) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFYEAR('Date'[Date]))))
MTD (último fin del año) Ventas - CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFYEAR(dateadd('Date'[Date],-12,MONTH),"8/31")))

Ventas DE QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(('Fecha'[Fecha])))
Ventas de QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-1,QUARTER)))
Ultima hasta la última cantidad de ventas QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-2,QUARTER)))
Próximas ventas qtd ( CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],1,QUARTER)))
El año pasado mismo Sint. Ventas de QTD: CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-1,Year)))
QTR finales - CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,QUARTER))
trailing 4 QTR - CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-4,QUARTER))

YTD Ventas- CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(('Date'[Date]),"12/31"))
This Sales á CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESYTD((ENDOFYEAR('Date'[Date])),"12/31"))
Ventas de última ytd: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Ventas completas de last YTD: CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Ultima hasta la última venta de YTD: CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Año detrás de Las Ventas (CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Año + 3 semanas detrás de Las Ventas - CALCULATE(SUM(Sales[Sales Amount]),dateadd(dateadd('Date'[Date],-1,Year),-21,Day))
55 semanas detrás de Las Ventas -CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],365+12,Day))
Ventas completas de last YTD: CALCULATE(SUM(Sales[Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Ultima hasta la última ytD ventas completas - CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-2,Year)),"12/31"))

Ventas de Cumm: CALCULATE(SUM(Sales[Sales[SalesImporte]), filtro (fecha, fecha[fecha] <-maxx(date,date[date])))
Ventas de Cumm: CALCULATE(SUM(Sales[Sales Amount]),filter(date,date[date] <=maxx(date,max(dateadd(date[date]),-1,year))))

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Anonymous
Not applicable

¡Excelente! ¡Muchas gracias, @amitchandak por toda la información útil! Además de la ayuda con las medidas, otra cosa con la que realmente ayudaste fue recordarme que agregara un filtro de fecha para que la fecha máxima terminara con hoy. ¡Se lo agradezco mucho!

Greg_Deckler
Community Champion
Community Champion

Los datos de ejemplo como texto siempre ayudan. Por favor, consulte este post sobre cómo obtener su pregunta respondida rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490

Vea si mi Inteligencia del Tiempo el Camino Duro proporciona una manera diferente de lograr lo que usted está buscando.

https://community.powerbi.com/t5/Quick-Measures-Gallery/Time-Intelligence-quot-The-Hard-Way-quot-TIT...



Follow on LinkedIn
@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
DAX For Humans

DAX is easy, CALCULATE makes DAX hard...

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

Vote for your favorite vizzies from the Power BI World Championship submissions!

Sticker Challenge 2026 Carousel

Join our Community Sticker Challenge 2026

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors