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 moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
Queridos todos,
Tengo una tabla con las semanas calendario correspondientes por año, y necesito tomar el promedio de semanas calendario seleccionadas para el año anterior. ¿Podría ayudarme?
Por ejemplo;
CW 52 - año 2020: 100 ------> Busca valor en CW 52 - año 2019: 70
CW 01 - año 2021: 50 ------> Busca valor en CW 01 - año 2020: 80
Así que la tarjeta tiene que mostrar el promedio de ambos valores:
CW 52 - año 2019: 70
CW 01 - año 2020: 80
Promedio del período seleccionado para el año anterior: 75
Esa es mi mesa, necesito la tercera carta, por favor.
Lo intenté - y otras maneras y no pensé resuelto:
@ANE2CAbo , Usted debe simplemente probar este
CALCULATE([Average CY],SAMEPERIODLASTYEAR('dCalendar'[Date])
O
CALCULATE([Cy promedio],dateadd('Date'[Date],-1,Year))
o crear un rango de semana en la semana del año o la fecha de inicio de la semana - nueva columna
Rango de la semana - RANKX(all('Date'),'Date'[Week Start date],,ASC,Dense)
y tratar de medir como
Esta semana: CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-max('Date'[Week Rank])
Last Week ? CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-max('Date'[Week Rank])-1))
Last year WeekTM CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-(max('Date'[Week Rank]) -52)))
Consulte Power BI — Semana tras semana y WTD
https://medium.com/@amitchandak.1978/power-bi-wtd-questions-time-intelligence-4-5-98c30fab69d3
https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...
https://www.youtube.com/watch?v=pnAesWxYgJ8
Para obtener lo mejor de la función de inteligencia del tiempo. Asegúrese de que tiene un calendario de fechas y que se ha marcado como la fecha en la vista de modelo. Además, únete a ella con la columna de fecha de tus hechos. Consulte :radacad sqlbi My Video Series Aprecia tus Felicitaciones.
Hola, @amitchandak
Gracias por su apoyo, pero todavía no funciona...
CALCULATE([Average CY],SAMEPERIODLASTYEAR('dCalendar'[Date])
Es el traer el promedio correspondiente al año actual, no el anterior.
CALCULATE([Cy promedio],dateadd('Date'[Date],-1,Year))
En mi caso no es aplicable porque necesito una medida dinámica, así que no puedo definir un año.
Esta semana: CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-max('Date'[Week Rank])
Last Week ? CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-max('Date'[Week Rank])-1))
Last year WeekTM CALCULATE(sum('order'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]-(max('Date'[Week Rank]) -52)))
Ya tengo un rango de semana, pero desafortunadamente reproduré los pasos a continuación, y para 'Fecha'[Rango de semana] es aceptable sólo medidas, no columnas, por lo que no es posible aplicar esta fórmula allí.
@ANE2CAbo , Dudo que su calendario podría noy tener todas las fechas. SAMEPERIODLASTYEAR dan datos del mismo año. Puede comprobar si tiene toda la fecha requerida en el calendario
@amitchandak,tengo una tabla de calendario, y todos los años que necesito. En mi caso tengo datos para 2020 y 2021, por lo que mi calendario es de 2019 a 2021. Como se puede ver a continuación el año anterior se está considerando.
No @ANE2CAbo,
En mi opinión, me gustaría sugerirle que extraiga el rango de fechas seleccionado de su filtro. (extraer el semana y el año) A continuación, puede usar esto para calcular el rango anterior y utilizarlos como condiciones de filtro en las expresiones con la tabla de hechos para obtener resultados correctos.
¿Puede compartir algunos datos ficticios con una estructura de datos similar y los resultados esperados? Debería ayudarnos a aclarar su escenario y probar la fórmula de codificación.
Cómo obtener respuestas a su pregunta rápidamente
saludos
Xiaoxin Sheng
Hola, @v-shex-msft.
También lo intenté. Como puedes ver, creé un calendario y extraje el año y la semana calendario correspondientes. Con estos valores construí mi medida... y no está funcionando. ¿Hay alguna manera de obtener mi apoyo de usted? Alguien que pueda mirar en mi tablero.
¡Gracias!
¿Puede compartir un archivo pbix con algunos datos ficticios? Es difícil reconstruir el ejemplo como estructura de datos sin procesar a partir de sus capturas de pantalla.
Aviso:
1. Elimine los datos confidenciales antes de su recurso compartido.
2. Puede actualizar a onedrive para la empresa para compartir su archivo.
saludos
Xiaoxin Sheng
Hi @Syndicate_Admin and @Anonymous.
Is there any email that I can share it? I tried by OneDrive, and it's not working.
I also can't send private messages with the file to you.
I already took out all sensitive data.
Thanks!
Desafortunadamente, no podemos usar el correo electrónico personal para recibir datos de muestra.
Por favor, eche un vistazo al siguiente enlace sobre cómo compartir archivos desde onedrive o puede intentar copiar sus datos de muestra y pegarlos en su respuesta en formato de tabla. (exportar sus datos para Excel y copiar rangos de hojas de Excel a su contenido de respuesta, entonces estos contenidos se pueden reconocer como formato de tabla)
Compartir archivos y carpetas de OneDrive
saludos
Xiaoxin SHeng
Hola, @v-shex-msft
Por favor considere el enlace a mi OneDrive y el archivo respectivo:
https://1drv.ms/x/s!Aj0SVa4nvP8vnWh8J4xD0Hlz2oVA
¡Gracias!
¿La fórmula 'Cy promedio' calcó sobre la base de la función de inteligencia de tiempo? Si este es el caso, no puede simplemente nester con otras funciones de fecha.
Si no es así, puede intentar utilizar las siguientes expresiones de medida si funciona de su lado:
Measure =
VAR currDate =
MAX ( 'Order Value_Contact'[Date] )
VAR currCW =
MAX ( 'Order Value_Contact'[CW/Year] )
VAR prevDate =
CALCULATE (
MAX ( 'Order Value_Contact'[Date] ),
FILTER (
ALLSELECTED ( 'Order Value_Contact' ),
[CW/Year] <> currCW
&& [Date] < currDate
)
)
VAR prevCW =
CALCULATE (
MAX ( 'Order Value_Contact'[CW/Year] ),
FILTER ( ALLSELECTED ( 'Order Value_Contact' ), [Date] = prevDate )
)
VAR selRegion =
VALUES ( 'Order Value_Contact'[Region/Country] )
RETURN
CALCULATE (
DIVIDE (
CALCULATE ( [Average CY], [CW/Year] = currCW )
+ CALCULATE ( [Average CY], [CW/Year] = prevCW ),
2,
-1
),
FILTER (
ALL ( 'Order Value_Contact' ),
'Order Value_Contact'[Region/Country] IN selRegion
)
)
saludos
Xiaoxin Sheng
Check out the April 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.