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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
Syndicate_Admin
Administrator
Administrator

Necesito calcular el tiempo total entre dos fechas en función de la fecha de inicio y cierre de sesión.

Hola a todos,
Necesito calcular el tiempo total entre dos fechas en función de la fecha y hora de inicio y cierre de sesión para cada agente.
por lo que los filtros son como:
1) Tiempo total entre el inicio de sesión y el cierre de sesión
2) para cada día
3) para cada Agente.

agentedescripción Hora
Agente1Iniciar sesión01/07/2021 9:50
Agente1no listo01/07/2021 9:50
Agente1listo01/07/2021 9:51
Agente3Iniciar sesión01/07/2021 10:56
Agente3no listo01/07/2021 10:56
Agente3listo01/07/2021 11:03
Agente3no listo01/07/2021 12:04
Agente3listo01/07/2021 12:04
Agente3no listo01/07/2021 12:25
Agente3listo01/07/2021 12:42
Agente1no listo01/07/2021 12:46
Agente1listo01/07/2021 13:00
Agente3no listo01/07/2021 13:27
Agente1no listo01/07/2021 13:48
Agente3listo01/07/2021 13:48
Agente1listo01/07/2021 13:54
Agente3no listo01/07/2021 15:18
Agente3listo01/07/2021 15:30
Agente1Cerrar sesión01/07/2021 16:00
Agente3no listo01/07/2021 17:13
Agente3listo01/07/2021 17:14
Agente3no listo01/07/2021 17:59
Agente3listo01/07/2021 18:09
Agente3no listo01/07/2021 18:54
Agente3listo01/07/2021 18:58
Agente3no listo01/07/2021 19:22
Agente3listo01/07/2021 19:24
Agente3Cerrar sesión01/07/2021 20:01
Agente3Iniciar sesión02/07/2021 13:02
Agente3no listo02/07/2021 13:02
Agente3listo02/07/2021 13:03
Agente3no listo02/07/2021 13:03
Agente3listo02/07/2021 13:13
Agente3no listo02/07/2021 13:13
Agente3listo02/07/2021 13:26
Agente3no listo02/07/2021 17:28
Agente3listo02/07/2021 17:44
Agente3Cerrar sesión02/07/2021 19:00
Agente1Iniciar sesión03/07/2021 14:00
Agente1no listo03/07/2021 14:00
Agente1listo03/07/2021 14:00
Agente1no listo03/07/2021 15:33
Agente1listo03/07/2021 15:36
Agente1no listo03/07/2021 16:47
Agente1listo03/07/2021 16:58
Agente1Cerrar sesión03/07/2021 20:00



2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Esta es una expresión de medida que muestra una forma de hacerlo. Tenga en cuenta que primero agregué una columna calculada con solo la fecha para poder usarla en la medida con

Fecha = DATE(YEAR(Logins[Time]), Month(Logins[Time]), DAY(Logins[Time]))

También puede hacerlo en el editor de consultas aún más fácil. A continuación se muestra el resultado de colocar la medida en una tabla visual con la columna Agente. También funcionaría si agregara la nueva columna de fecha, pero es probable que no funcione si agrega la hora de inicio de sesión a este objeto visual.

mahoneypat_0-1627906819368.png

Aquí está la medida

Promedio de duración diaria de inicio de sesión =
VAR dailylogins =
GENERAR (
SUMMARIZE ( Inicios de sesión, Inicios de sesión[Agente], Inicios de sesión[Fecha] ),
CALCULATETABLE ( DISTINCT ( Logins[Time] ), Logins[Description ] = "Login" )
)
VAR withlogouts =
ADDCOLUMNS (
registros diarios,
"cNextLogout",
VAR logintime = Inicios de sesión[Tiempo]
devolución
CALCULAR (
MIN ( Inicios de sesión[Tiempo] ),
ALL ( Inicios de sesión[Hora] ),
Inicios de sesión[Hora] > logintime,
Inicios de sesión[Descripción ] = "Cierre de sesión"
)
)
devolución
AVERAGEX ( withlogouts, DATEDIFF ( Logins[Time], [cNextLogout], MINUTE )

palmadita

View solution in original post

Syndicate_Admin
Administrator
Administrator

Hay @supriya_13,

¿Se ha resuelto su problema? Si se resuelve, por favor marque una respuesta que le sea útil.

Si el problema sigue sin resolverse, proporcione información detallada del error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

View solution in original post

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hay @supriya_13,

¿Se ha resuelto su problema? Si se resuelve, por favor marque una respuesta que le sea útil.

Si el problema sigue sin resolverse, proporcione información detallada del error o el resultado esperado que espera. Hágamelo saber de inmediato, esperando su respuesta.

Saludos
Winniz

Syndicate_Admin
Administrator
Administrator

Esta es una expresión de medida que muestra una forma de hacerlo. Tenga en cuenta que primero agregué una columna calculada con solo la fecha para poder usarla en la medida con

Fecha = DATE(YEAR(Logins[Time]), Month(Logins[Time]), DAY(Logins[Time]))

También puede hacerlo en el editor de consultas aún más fácil. A continuación se muestra el resultado de colocar la medida en una tabla visual con la columna Agente. También funcionaría si agregara la nueva columna de fecha, pero es probable que no funcione si agrega la hora de inicio de sesión a este objeto visual.

mahoneypat_0-1627906819368.png

Aquí está la medida

Promedio de duración diaria de inicio de sesión =
VAR dailylogins =
GENERAR (
SUMMARIZE ( Inicios de sesión, Inicios de sesión[Agente], Inicios de sesión[Fecha] ),
CALCULATETABLE ( DISTINCT ( Logins[Time] ), Logins[Description ] = "Login" )
)
VAR withlogouts =
ADDCOLUMNS (
registros diarios,
"cNextLogout",
VAR logintime = Inicios de sesión[Tiempo]
devolución
CALCULAR (
MIN ( Inicios de sesión[Tiempo] ),
ALL ( Inicios de sesión[Hora] ),
Inicios de sesión[Hora] > logintime,
Inicios de sesión[Descripción ] = "Cierre de sesión"
)
)
devolución
AVERAGEX ( withlogouts, DATEDIFF ( Logins[Time], [cNextLogout], MINUTE )

palmadita

La versión anterior funciona con los datos de ejemplo, pero no abordaba varios inicios de sesión por día. Este debería, y debe dar el "total" correcto también.

Promedio de duración diaria de inicio de sesión =
Dónde nombresfechas =
resumir ( Inicios de sesión, Inicios de sesión[Agente], Inicios de sesión[Fecha] )
Dónde registros diarios =
generar (
nombresfechas,
CALCULABLE ( distinto ( Inicios de sesión[Tiempo] ), Inicios de sesión[Descripción ] = "Iniciar sesión" )
)
Dónde withlogouts =
ADDCOLUMNS (
registros diarios,
"cNextLogout",
Dónde logintime = Inicios de sesión[Tiempo]
devolución
calcular (
min ( Inicios de sesión[Tiempo] ),
todo ( Inicios de sesión[Tiempo] ),
Inicios de sesión[Hora] > logintime,
Inicios de sesión[Descripción ] = "Cierre de sesión"
)
)
Dónde resultadoado =
PROMEDIOX (
nombresfechas,
Dónde esteagente = Inicios de sesión[Agente]
Dónde esta fecha = Inicios de sesión[Fecha]
devolución
dividir (
SUMX (
filtro ( withlogouts, Inicios de sesión[Agente] = esteagente &&&Inicios de sesión[Fecha] = esta fecha ),
DATEDIFF ( Inicios de sesión[Hora], [cNextLogout], minuto )
),
60
)
)
devolución
resultado

palmadita

Syndicate_Admin
Administrator
Administrator

Proporcione sus datos en un formato de copiar / pegar (agregue una tabla a su publicación con los datos) en lugar de una imagen. O proporcione un enlace a un archivo Excel, csv o incluso mejor un archivo pbix en OneDrive, Google Drive, etc.

palmadita

@mahoneypat He añadido los datos en la tabla .
Sí, el agente puede iniciar o cerrar sesión desde el sistema varias veces en un día. Necesito calcular el tiempo total en un día en que el agente inició sesión.
Ready or not Ready está activo o inactivo, por lo que no importa hasta que estén en el sistema.
Para Visual, voy a tener una tabla de resumen que da los detalles como el tiempo de inicio de sesión, el tiempo de cierre de sesión y el tiempo total en cada día.

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

Power BI Carousel June 2024

Power BI Monthly Update - June 2024

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

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

Top Solution Authors