March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hola a todos
A continuación se muestra lo que estoy tratando de lograr en Power BI:
En esencia, necesito ser capaz de crear un promedio móvil diario que se reinicia al comienzo de cada nuevo mes....
¡Gracias de antemano!
Hola @kc_
¿Está utilizando una tabla de fechas en su modelo? Entonces esto ayudará
Avg. Jobs Per Day =
VAR LastCurrentDate =
MAX ( 'DIM Date'[Date] )
VAR Period =
DATESBETWEEN ( 'DIM Date'[Date], EOMONTH(LastCurrentDate, -1) + 1, LastCurrentDate)
VAR TotalJobs =
CALCULATE (
SUM(Jobs[Jobs Completed per Day]),
Period
)
VAR NumOfDays =
COUNTROWS(Period)
VAR Result =
DIVIDE(TotalJobs, NumOfDays)
RETURN
Result
Joe
@Joe_Barry espero que pueda proporcionar más ayuda...
Como se mencionó anteriormente, el DAX que proporcionó funciona, consulte la tabla a continuación:
Sin embargo, para cada fecha se le asigna un día hábil (dentro del conjunto de datos) y cuando incorporo esto dentro de la tabla ocurre lo siguiente:
En esencia busco lograr algo similar a lo siguiente:
¿Eres capaz de ayudar....
Muchas gracias
Hola @kc_
Por favor, intente que no haya días de estauración ni domingos
Avg. Jobs Per Day No Weekends =
VAR LastCurrentDate =
MAX ( 'DIM Date'[Date] )
VAR Period =
DATESBETWEEN ( 'DIM Date'[Date], EOMONTH(LastCurrentDate, -1) + 1, LastCurrentDate)
VAR WeekdaysPeriod =
FILTER (
Period,
WEEKDAY ( 'DIM Date'[Date], 2 ) < 6
)
VAR TotalJobs =
CALCULATE (
SUM(Jobs[Jobs Completed per Day]),
WeekdaysPeriod
)
VAR NumOfDays =
COUNTROWS(WeekdaysPeriod)
VAR Result =
DIVIDE(TotalJobs, NumOfDays)
RETURN
Result
Este excluirá los días en los que no se produzcan trabajos
Avg. Jobs Per Day - Leave out non worked days=
VAR LastCurrentDate =
MAX ( 'DIM Date'[Date] )
VAR Period =
DATESBETWEEN ( 'DIM Date'[Date], EOMONTH(LastCurrentDate, -1) + 1, LastCurrentDate)
VAR NonZeroJobsPeriod =
FILTER (
Period,
CALCULATE ( SUM ( Jobs[Jobs Completed per Day] ) ) > 0
)
VAR TotalJobs =
CALCULATE (
SUM(Jobs[Jobs Completed per Day]),
NonZeroJobsPeriod
)
VAR NumOfDays =
COUNTROWS(NonZeroJobsPeriod)
VAR Result =
DIVIDE(TotalJobs, NumOfDays)
RETURN
Result
Joe
Gracias por este @Joe_Barry , sin embargo, algo no me está funcionando... tal vez pueda enviar su archivo PBIX en su lugar.
Además, es fundamental que se muestren los números de los días laborables en lugar de los días reales de la semana, ya que esto es lo que informa la empresa.
A continuación se muestra una captura de pantalla de lo que estoy tratando de lograr.
Gracias por esto Joe, sí, tengo una tabla de fechas, sin embargo... Véase a continuación:
El promedio de empleos por día en 2.01.2024 debe ser 86 y no 43. Solo necesito que se calcule un promedio si un trabajo se ha completado en un día determinado. También para contextualizar, los trabajos solo se completan de lunes a viernes.
Por lo tanto, la solución alternativa: en lugar de señalar la tabla de fechas, señalo el campo de fecha de finalización de la tabla de datos de origen, al hacerlo, obtengo las cifras esperadas.
¡Esto ha funcionado de maravilla! Muchas gracias!!!
@kc_ ,Cree una nueva columna calculada usando la siguiente medida
¡Gracias!
Gracias Bhanu, sin embargo, ¿te importaría volver a adjuntar el archivo PBIX, por favor...
Comprobar la tabla yendo al modelo no visual