This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreGet Fabric Certified for FREE during AI Skills Fest. This week only. Secure your voucher now.
Hola a todos,
Quiero mostrar cuatro gráficos de barras diferentes para una columna de volumen.
1. Volumen por día; ayer vs día antes de ayer
2. Volumen por semana; La última semana a la fecha vs WtD actual
3. Volumen por mes; El último mes hasta la fecha frente al MtD actual
4. Volumen por año; El último año hasta la fecha frente al YtD actual
En este momento tengo los cuatro gráficos, pero para semana, mes y año mi vista ahora es la última semana completa / mes / año vs volumen actual hasta la fecha. Lo que significa que veo por ejemplo la semana pasada frente a la semana actual a la fecha (sólo dos días hasta ahora), esto hace que la comparación sea bastante extraña. ¿Es posible hacer algo al respecto?
Utilizo una tabla de calendario vinculada al volumen y uso filtros de fecha relativa y filtros de desplazamiento para Semana, Mes y Año. Como se puede ver a continuación, la comparación se convierte en bastante missrepresentative, especialmente para la vista de mes.
¡Gracias!
Hola @_Xandyr_ ,
He creado una muestra para su referencia.
day = var today = TODAY()
var last = today-1
return
CALCULATE(SUM('Table'[value]),FILTER('date','date'[Date]>=last && 'date'[Date]<=today))week_ =
VAR today =
TODAY ()
VAR weeknum =
WEEKNUM ( today, 2 )
VAR weekday =
WEEKDAY ( today, 2 )
VAR todayyearwekk =
YEAR ( today ) * 100 + weeknum
VAR lsw =
CALCULATE (
MAX ( 'date'[yearweek_] ),
FILTER ( ALL ( 'date' ), 'date'[yearweek_] < todayyearwekk )
)
RETURN
CALCULATE (
SUM ( 'Table'[value] ),
FILTER (
'date',
AND (
[yearweek_] = todayyearwekk
|| 'date'[yearweek_] = lsw,
WEEKDAY ( [Date] ) <= weekday
)
)
)
YM =
VAR today =
TODAY ()
VAR st =
DATE ( YEAR ( today ), MONTH ( today ), 1 )
VAR premonth =
EDATE ( today, -1 )
VAR spre =
DATE ( YEAR ( premonth ), MONTH ( premonth ), 1 )
RETURN
CALCULATE (
SUM ( 'Table'[value] ),
FILTER (
'date',
OR (
'date'[Date] <= today
&& 'date'[Date] >= st,
'date'[Date] >= spre
&& 'date'[Date] <= premonth
)
)
)
Year =
VAR today =
TODAY ()
VAR stofyear =
DATE ( YEAR ( today ), 1, 1 )
VAR spre =
DATE ( YEAR ( today ) - 1, 1, 1 )
VAR pre =
EDATE ( today, -12 )
RETURN
CALCULATE (
SUM ( 'Table'[value] ),
FILTER (
'date',
OR (
'date'[Date] >= stofyear
&& 'date'[Date] <= today,
'date'[Date] >= spre
&& 'date'[Date] <= pre
)
)
)
Para obtener más detalles, consulte el pbix como adjunto.
Hola @v-frfei-msft
Acaba de probar sus ejemplos mediante el uso de los códigos y modificarlos a mis datos, también miró en su archivo PBIX adjunto. Tengo que decir WOW, esto funcionó perfectamente y exactamente cómo quería que hiciera! Comprobado con mis datos sin procesar y todo es exactamente como debería!
Muchas gracias por la ayuda, ¡apreciémoslo!
Para la semana consulte mi archivo: https://www.dropbox.com/s/d9898a48e76wmvl/sales_analytics_weekWise.pbix?dl=0
Para ayer se puede utilizar
último día: CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Day))
Para otros prefieren usar la inteligencia del tiempo con el calendario de fechas
MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD('Date'[Date]))
last MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-1,MONTH)))
last MTD (complete) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,MONTH))))
last year MTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(dateadd('Date'[Date],-12,MONTH)))
last year MTD (complete) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-12,MONTH))))
last QTR same Month (complete) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFMONTH(dateadd('Date'[Date],-1,Qtr))))
MTD (Year End) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFYEAR('Date'[Date])))
MTD (Last Year End) Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESMTD(ENDOFYEAR(dateadd('Date'[Date],-12,MONTH),"8/31")))
QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(('Date'[Date])))
Last QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-1,QUARTER)))
Last complete QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD( ENDOFQUARTER(dateadd('Date'[Date],-1,QUARTER))))
Last to last QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-2,QUARTER)))
Next QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],1,QUARTER)))
Last year same QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(dateadd('Date'[Date],-1,Year)))
Last year same QTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESQTD(ENDOFQUARTER(dateadd('Date'[Date],-1,Year))))
trailing QTR = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,QUARTER))
trailing 4 QTR = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-4,QUARTER))
YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(('Date'[Date]),"12/31"))
This Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD((ENDOFYEAR('Date'[Date])),"12/31"))
Last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-1,Year),"12/31"))
Last YTD complete Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(ENDOFYEAR(dateadd('Date'[Date],-1,Year)),"12/31"))
Last to last YTD Sales = CALCULATE(SUM(Sales[Sales Amount]),DATESYTD(dateadd('Date'[Date],-2,Year),"12/31"))
Year behind Sales = CALCULATE(SUM(Sales[Sales Amount]),dateadd('Date'[Date],-1,Year))
Para obtener lo mejor de la función de inteligencia de tiempo. Asegúrese de que tiene un calendario de fechas y se ha marcado como la fecha en la vista de modelo. Además, únase a él con la columna de fecha de su hecho/s. Consulte:
https://radacad.com/creating-calendar-table-in-power-bi-using-dax-functions
https://www.archerpoint.com/blog/Posts/creating-date-table-power-bi
https://www.sqlbi.com/articles/creating-a-simple-date-table-in-dax/
Hola @amitchandak
Gracias por la rápida respuesta y la información. Sin embargo, no estoy seguro de que esta es la solución correcta para mí, como traté de mostrar en mi post necesito usar un gráfico de barras apiladas y mostrar por ejemplo la semana pasada a "día específico" vs la semana actual a "día específico". Diga su martes hoy entonces quiero que mi tabla de la semana muestre dos barras, una para la última semana al martes y otra para la semana actual al martes. ¿Es posible?
Para el mes Sería el mes pasado al 14 de marzo vs mes actual al 14 de abril. Y esto debe ser un filtro relativo porque se actualizará todos los días.
¡Gracias!
Check out the May 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.