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

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.

Reply
AliAlHamadi
Frequent Visitor

Buscar la duración del inicio de sesión y el cierre de sesión en la misma columna

Hola
Tengo problemas para encontrar la duración de inicio de sesión y cierre de sesión para el mismo ID de usuario.

sin embargo, encuentro una solución en

Calcular el tiempo entre el check-in y el check-out desde diferentes filas

y me da este resultado

Capture.PNGCapture2.PNG2

mediante el uso de este DAX

Col1 ?
CALCULAR (
MIN ( 'Empleado-evento'[índice] ),
FILTRO (
ALLEXCEPT ( 'Employee-event', 'Employee-event'[UserID] ),
'Empleado-evento'[índice] > ANTERIOR ( 'Empleado-evento'[índice] )
&& 'Empleado-evento'[Evento] - "OUT"
)
)

TIEMPO DE SALIDA ?
LOOKUPVALUE (
'Empleado-evento'[Tiempo],
'Employee-event'[Index], 'Employee-event'[Col1]
)


Duración en Mín.
SI (
'Empleado-evento'[Evento] á "IN",
DATEDIFF ( 'Empleado-evento'[Tiempo], 'Empleado-evento'[TIME OUT], MINUTE ),
BLANK ()
)

es muy bueno, pero no pude aplicar a enormes datos (más de millones de filas) que se quedas sin memoria


De todos modos, hay que hacerlo en el Editor de consultas u otra solución

2 ACCEPTED SOLUTIONS
mahoneypat
Employee
Employee

No estoy seguro de por qué tiene el paso LOOKUPVALUE. Por favor, pruebe esta expresión en su lugar:

Duration =
VAR __thislogin = 'Employee-event'[Time]
VAR __nextlogout =
    CALCULATE (
        MIN ( 'Employee-event'[Time] ),
        ALLEXCEPT ( 'Employee-event', 'Employee-event'[UserID] ),
        'Employee-event'[Team] > __thislogin,
        'Employee-event'[Event] = "OUT"
    )
RETURN
    IF (
        'Employee-event'[Event] = "IN",
        DATEDIFF ( __thislogin, __nextlogout, MINUTE ),
        BLANK ()
    )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


View solution in original post

Hay @AliAlHamadi,

Por favor, compruebe de nuevo. Acabo de replicar la fórmula que @mahoneypat ha dado y da las respuestas correctas.

Pls comprobar de nuevo.

1.jpg

Columna =
VAR __thislogin = 'Tabla'[Hora]
VAR __nextlogout =
CALCULAR (
MIN ( 'Tabla'[Tiempo] ),
ALLEXCEPT ( 'Tabla', 'Tabla'[ID de usuario] ),
'Tabla'[Tiempo] > __thislogin,
'Tabla'[Evento] = "OUT"
)
devolución
SI (
'Tabla'[Evento] = "IN",
DATEDIFF ( __thislogin, __nextlogout, MINUTO ),
EN BLANCO ()
)

2.JPG

saludos

Nathani áspero

¿Respondí a su pregunta? Marcar mi post como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares hacia arriba)

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Esto funcionó perfecto para analizar los datos de identificación de los empleados. ¡Gracias!

mahoneypat
Employee
Employee

No estoy seguro de por qué tiene el paso LOOKUPVALUE. Por favor, pruebe esta expresión en su lugar:

Duration =
VAR __thislogin = 'Employee-event'[Time]
VAR __nextlogout =
    CALCULATE (
        MIN ( 'Employee-event'[Time] ),
        ALLEXCEPT ( 'Employee-event', 'Employee-event'[UserID] ),
        'Employee-event'[Team] > __thislogin,
        'Employee-event'[Event] = "OUT"
    )
RETURN
    IF (
        'Employee-event'[Event] = "IN",
        DATEDIFF ( __thislogin, __nextlogout, MINUTE ),
        BLANK ()
    )

Si esto funciona para usted, márquelo como la solución. Los elogios también son apreciados. Por favor, avísame si no.

saludos

palmadita





Did I answer your question? Mark my post as a solution! Kudos are also appreciated!

To learn more about Power BI, follow me on Twitter or subscribe on YouTube.


@mahoneypa HoosierBI on YouTube


Desafortunadamente, esto no funcionó. Estos son los resultados

Capture3.PNG

Algunos registros son correctos, mientras que otros están equivocados

Hay @AliAlHamadi,

Por favor, compruebe de nuevo. Acabo de replicar la fórmula que @mahoneypat ha dado y da las respuestas correctas.

Pls comprobar de nuevo.

1.jpg

Columna =
VAR __thislogin = 'Tabla'[Hora]
VAR __nextlogout =
CALCULAR (
MIN ( 'Tabla'[Tiempo] ),
ALLEXCEPT ( 'Tabla', 'Tabla'[ID de usuario] ),
'Tabla'[Tiempo] > __thislogin,
'Tabla'[Evento] = "OUT"
)
devolución
SI (
'Tabla'[Evento] = "IN",
DATEDIFF ( __thislogin, __nextlogout, MINUTO ),
EN BLANCO ()
)

2.JPG

saludos

Nathani áspero

¿Respondí a su pregunta? Marcar mi post como una solución! Apreciar con un Kudos!! (Haga clic en el botón Pulgares hacia arriba)

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

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.

Top Kudoed Authors