Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hola, chicos
Necesitaría su ayuda para ajustar la siguiente función. Tengo 2 mesas: FACT_Tasks y FACT_Cases. Existe una relación entre el campo "RelatedTo_ID" en FACT_Tasks y la columna "ID" en FACT_Cases. Puede haber varias tareas relacionadas con un identificador de caso.
Originalmente, la función seleccionaba la última tarea cerrada agrupada bajo un identificador de caso. Sin embargo, el requisito comercial ha cambiado y ahora necesito mostrar la fecha cercana de la última tarea creada dentro del caso particular.
Last task (Closed_Time) =
MAXX(
FILTER(FACT_Tasks, FACT_Tasks[RelatedTo_Id] = EARLIER(FACT_Cases[Id]) && FACT_Tasks[Team] in {"Team 1", "Team 2"} && NOT FACT_Tasks[Status] in {"Canceled"}),
FACT_Tasks[ClosedTime (Time)])
¿Podría ayudarme a ajustar la fórmula?
Gracias
IvanS
Solved! Go to Solution.
Finalmente, he logrado calcular esto usando la función MAXX anidada:
Close date of latest created task within case =
var _maxcreateddate = MAXX(
FILTER(
FACT_Tasks,
FACT_Tasks[RelatedTo_Id] = EARLIER(FACT_Cases[Id]) &&
FACT_Tasks[Team] in {"Team1", "Team2"} &&
NOT FACT_Tasks[Status] in {"Canceled"}
),
FACT_Tasks[CreatedTime (Time)]
)
RETURN
MAXX(
FILTER(
FACT_Tasks,
FACT_Tasks[RelatedTo_Id] = EARLIER(FACT_Cases[Id]) &&
FACT_Tasks[Team] in {"Team1", "Team2"} &&
NOT FACT_Tasks[Status] in {"Canceled"} &&
FACT_Tasks[CreatedTime (Time)] = _maxcreateddate
),
FACT_Tasks[ClosedTime (Time)]
)
Finalmente, he logrado calcular esto usando la función MAXX anidada:
Close date of latest created task within case =
var _maxcreateddate = MAXX(
FILTER(
FACT_Tasks,
FACT_Tasks[RelatedTo_Id] = EARLIER(FACT_Cases[Id]) &&
FACT_Tasks[Team] in {"Team1", "Team2"} &&
NOT FACT_Tasks[Status] in {"Canceled"}
),
FACT_Tasks[CreatedTime (Time)]
)
RETURN
MAXX(
FILTER(
FACT_Tasks,
FACT_Tasks[RelatedTo_Id] = EARLIER(FACT_Cases[Id]) &&
FACT_Tasks[Team] in {"Team1", "Team2"} &&
NOT FACT_Tasks[Status] in {"Canceled"} &&
FACT_Tasks[CreatedTime (Time)] = _maxcreateddate
),
FACT_Tasks[ClosedTime (Time)]
)
Tengo ambos campos ClosedDate (como date) y ClosedTime (como datetime). Necesito obtener ClosedTime (como datetime) como resultado.
Su ajuste está devolviendo la última fecha de cierre dentro del caso que no es el resultado que estoy buscando. Necesitaría una fecha cercana de la última tarea creada.
IvanS
Hola @IvanS
Creo que solo necesitas cambiar la última parte del DAX a ClosedDate.
Last task (Closed_Time) =
MAXX(
FILTER(FACT_Tasks, FACT_Tasks[RelatedTo_Id] = EARLIER(FACT_Cases[Id]) && FACT_Tasks[Team] in {"Team 1", "Team 2"} && NOT FACT_Tasks[Status] in {"Canceled"}),
FACT_Tasks[ClosedDate])
Sin embargo, el problema puede ser que no tiene una columna ClosedDate en FACT_Tasks.
Supongo que FACT_Tasks[ClosedTime (Time)] tiene un tipo de datos datetime en power query. Si es así, entonces se puede transformar en dos columnas, una para la fecha y otra para la hora. Resalte la FACT_Tasks[ClosedTime (Time)] y, a continuación, en la cinta de transformación, tome la opción Date | Opción Solo fecha.
¿Respondí a su pregunta? ¡Marca mi publicación como una solución! ¡Aprecio tus felicitaciones! ¡Feliz de ayudar! !
Pete
Sitio web: https://binavigation.com
Enlazado en: https://www.linkedin.com/in/pete-smith-955b73181
Probé esta función y desafortunadamente está seleccionando la última hora de creación.
Estoy poniendo el siguiente ejemplo con explicaciones: adjunto también tablas para fines de prueba.
Necesito la fecha y hora resaltada en rojo que se define como la fecha de cierre de la última tarea creada.
FACT_Tasks | |||||
ID de tarea | Equipo | RelatedTo_ID | CreatedTime | Hora cerrada | Nota |
1 | Equipo1 | 1 | 30.3.2023 | 15.4.2023 | Esta es la primera tarea creada, por lo que tomamos tiempo creado de ella |
2 | Equipo1 | 1 | 1.4.2023 | 30.5.2023 | Esta tarea se cerró como última PERO se creó antes de la Tarea Nr. 4, por lo que está fuera del alcance) |
3 | Equipo3 | 1 | 1.5.2023 | 1.6.2023 | Este es un equipo diferente que está fuera del alcance |
4 | Equipo1 | 1 | 15.4.2023 | 16.4.2023 | Esta es la última tarea creada, por lo que le tomamos tiempo cerrado |
5 | Equipo1 | 2 | 1.4.2023 | Esto aún no está cerrado (el tiempo cerrado está en blanco) |
FACT_Cases | ||
ID de caso | Primera tarea datetime | Fecha de la última tarea y hora |
1 | 30.3.2023 | 16.4.2023 |
2 | 1.4.2023 | (en blanco) |
Espero que ahora esté más claro.
Gracias
IvanS
@IvanS , Pruebe como( Basado en lo que obtuve)
Última tarea creada (Closed_Time) =
MAXX(
FILTRO(
FACT_Tasks,
FACT_Tasks[RelatedTo_Id] = ANTES(FACT_Cases[Id]) &&
FACT_Tasks[Equipo] IN {"Equipo 1", "Equipo 2"} &&
NOT FACT_Tasks[Estado] IN {"Cancelado"}
),
FACT_Tasks[CreatedTime (Hora)]
)