Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Seleccione la fecha de cierre de la última tarea creada

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

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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)]
)
        

View solution in original post

6 REPLIES 6
Syndicate_Admin
Administrator
Administrator

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)]
)
        
Syndicate_Admin
Administrator
Administrator

@amitchandak ,

¿Alguna idea?

Gracias
IvanS

Syndicate_Admin
Administrator
Administrator

@BiNavPete ,

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

Syndicate_Admin
Administrator
Administrator

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

Syndicate_Admin
Administrator
Administrator

@amitchandak ,

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.

IvanS_3-1684133795487.png

FACT_Tasks
ID de tareaEquipoRelatedTo_IDCreatedTimeHora cerradaNota
1Equipo1130.3.202315.4.2023Esta es la primera tarea creada, por lo que tomamos tiempo creado de ella
2Equipo111.4.202330.5.2023Esta tarea se cerró como última PERO se creó antes de la Tarea Nr. 4, por lo que está fuera del alcance)
3Equipo311.5.20231.6.2023Este es un equipo diferente que está fuera del alcance
4Equipo1115.4.202316.4.2023Esta es la última tarea creada, por lo que le tomamos tiempo cerrado
5Equipo121.4.2023 Esto aún no está cerrado (el tiempo cerrado está en blanco)



FACT_Cases
ID de casoPrimera tarea datetimeFecha de la última tarea y hora
130.3.202316.4.2023
21.4.2023(en blanco)

Espero que ahora esté más claro.

Gracias

IvanS

Syndicate_Admin
Administrator
Administrator

@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)]
)

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.