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.
He estado tratando de caclular una media móvil ignorando las fechas de fin de semana. Parece que no puedo averiguar cómo combinar Datesinperiod() con Filter(). ¿Cómo filtro la tabla de fechas y luego hago la media móvil?
Mi cálculo de la media móvil
50SMA =
CALCULATE (
AVERAGEX ( 'Stock Data', 'Stock Data'[price.close]),
DATESINPERIOD (
'Date'[Date],
LASTDATE ( 'Date'[Date] ),
-50,
DAY
)
)
Mi filtro
FILTER('Date','Date'[WeekdayNum]<>6 && 'Date'[WeekdayNum] <>0)
Cree una columna de fecha que no tenga un fin de semana, significa espacio en blanco para el fin de semana. Crea un rango en él. Todo lo que termine tendrá otra fecha obtendrá rango. Puedes usar ahora esto en lugar de Fecha. -50 dará 50 días laborables. algo así como
CALCULATE(Average(Sales[Net Sales]),FILTER(all('Date'),'Date'[WorkDayRank]>'min('Date'[WorkDayRank])-50 && 'Date'[WorkDayRank]<'max('Date'[WorkDayRank]))))
El problema con este enfoque es que si alguien selecciona el fin de semana en calendario/slicer no funcionará.
Para que funcione, tienes que llenar el fin de semana con la última fecha de trabajo.
-1 a partir del sábado, -2 a partir de la fecha del domingo
Esto mantendrá el mismo rango para el fin de semana que el viernes
Fecha de trabajo: if(WEEKDAY('Date'[Date],2)<6,[Date],[Date]-WEEKDAY('Date'[Date],2)+5)
Interesante trabajo. Funcionó para mí.
¡Muchas gracias!
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 |