Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola, necesito poder crear un promedio móvil de 4 semanas de semanas calendario desde el principio del lunes hasta el final del domingo.
Así que si abrí el informe sobre un miércoles, necesito asegurarme de que el cálculo se corte el domingo anterior.
Este es un ejemplo de lo que me gustaría lograr: la línea media resultante. Sería genial hacer todo el cálculo en una medida para no tener que hacer 4 y promediar los 4 después, serían menos medidas para hacer:
Inicio de semana | Fin de semana | Ventas |
27/12/21 | 2/1/2022 | 100 |
3/1/2022 | 9/1/2022 | 121 |
10/1/2022 | 16/1/2022 | 123 |
17/1/2022 | 23/1/2022 | 122 |
PROMEDIO | 116.5 |
Hay @jnrezk ,
Creé algunos datos:
Estos son los pasos que puede seguir:
1. Crear columna calculada.
week = WEEKNUM('Table'[date],2)
weekday = WEEKDAY('Table'[date],2)
week_column =
var _lastweek=CALCULATE(MAX('Table'[week]),FILTER(ALL('Table'),YEAR('Table'[date])=YEAR(EARLIER('Table'[date]))))
return
IF([week]=_lastweek&&WEEKDAY(DATE(YEAR([date]),12,31),2)<>7,1,[week])
2. Crear medida.
avg = CALCULATE(AVERAGE('Table'[value]),FILTER(ALL('Table'),'Table'[week_column]=MAX('Table'[week_column])&&YEAR('Table'[date])=YEAR(MAX('Table'[date]))))
min =
var _todayweek=WEEKNUM(TODAY(),1)
return
CALCULATE(MIN('Table'[date]),FILTER(ALL('Table'),'Table'[week_column]=MAX('Table'[week_column])&&'Table'[week_column]>=_todayweek-4&&'Table'[week_column]<=_todayweek))
Flag =
IF(
MAX('Table'[date])=[min],1,0)
3. Coloque [Flag]en Filtros, establezca is=1, aplique filtro.
4. Resultado:
Saludos
Liu Yang
Si esta publicación ayuda,entonces considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente
@v-yangliu-msft esto parece ser un promedio diario, pero estoy buscando semanas totales
@jnrezk , Crear una tabla de fechas o una tabla de semanas con un rango en la fecha de inicio de la semana
nuevas columnas
Fecha de inicio de la semana = 'Fecha'[Fecha]+-1*WEEKDAY('Fecha'[Fecha],2)+1
Fecha de fin de semana = 'Fecha'[Fecha]+ 7-1*WEEKDAY('Fecha'[Fecha],2)
Rango de la semana = RANKX(all('Date'),'Date'[Fecha de inicio de la semana],,ASC,Dense)
O
Rango de semana = RANKX(all('Date'),'Date'[Year Week],,ASC,Dense) //YYYYWW formato
Luego pruebe medidas como
Últimas 4 semanas = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]>=max('Date'[Week Rank])-5 && 'Date'[Week Rank]<=max('Date'[Week Rank]) -1 ))
Power BI— Semana a semana y DMT
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
@amitchandak Gracias por esto. He creado algunas columnas nuevas para el calendario, incluyendo Año de la semana y Últimas 4 semanas como dijiste, los números no parecen ser correctos ... Adjunto un ejemplo y esperaba que pudieras alterarlo o hacerme saber lo que hice mal. ¡¡Gracias!! https://drive.google.com/file/d/1pFO1IL-Pt9UWqlvd5j2qmLuNW4Q-Vzlz/view?usp=sharing
@jnrezk , Necesita crear medidas para rodar
Promedio = CALCULATE(AverageX(values('Date'[Week Rank]), calculate(sum('Table'[Qty])) ), FILTER(ALL('Date'),'Date'[Week Rank]>=max('Date'[Week Rank])-5 && 'Date'[Week Rank]<=max('Date'[Week Rank]) -1 ))
Una nueva columna será como
CALCULATE(sum('Table'[Qty]), FILTER(('Table'),'Table'[Week Rank]>=earlier('Table'[Week Rank])-5 && 'Table'[Week Rank]<=earlier('Table'[Week Rank]) -1 ))
@amitchandak Esto es lo que ya hice: ¿puede verificar mi archivo que vinculé y hacerme saber qué ajustes debo hacer?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
1 | |
1 | |
1 |