Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and a 50 percent discount on exams.
Get startedEarn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Estoy buscando un poco de ayuda que he buscado e innumerables publicaciones en el tiempo y tal vez me estoy confundiendo un poco. Quiero una columna calculada que me dé la longitud de un boleto en minutos, pero excluyendo los fines de semana (sin preocuparse por el tiempo de trabajo). Entonces necesito quitarme ese número de horas en espera. Esto ya se ha resuelto en otro campo.
Ya encontré el siguiente código, sin embargo, esto incluye horas de trabajo. Que he eliminado. Cambiado a toldo tominutos no horas. Como las llamadas pueden ser tan cortas como minutos o ser meses. Así que un denominador más bajo es mejor
TicketLength (Min) =
VAR _Workminutes=
SUMX(
CALCULATETABLE(
IV_dim_CALENDAR,
DATESBETWEEN(IV_dim_CALENDAR[Date],IV_fact_TicketsAll[CreatedDateTime],IV_fact_TicketsAll[ResolvedDateTime]),
IV_dim_CALENDAR[IsWeekend] = FALSE()
),
1440 * (IV_fact_TicketsAll[ResolvedDateTime] - IV_fact_TicketsAll[CreatedDateTime] - IV_fact_TicketsAll[TimeOnHold(Minutes)])
)
RETURN
IF(_Workhours,_Workhours,0)
El problema es que me estoy acercando al mismo anwser que datediff cuando solo miro y longitudes de boletos muy cortas, pero parece estar redondeando algunos donde datediff no está. Está por encima de la forma correcta de obtener esto o me falta algo. Intenté usar la función Int, etc., pero estos no parecían resolver mi problema. Vea el ejercicio a continuación: -
Creo una muestra para reproducir su problema.
Usé la fórmula que proporcionó, luego obtuve el resultado 1440. En mi muestra, ResolvedDateTime 6/10/2023 es sábado, ¿quiere decir que el resultado en mi muestra debe ser 240 (4 horas * 60)?
Saludos
Apoyo a la comunidad Team_yanjiang