The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event! Join us in Stockholm, Sweden from September 24-27, 2024.
2-for-1 sale on June 20 only!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
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.
agente | descripción | Hora |
Agente1 | Iniciar sesión | 01/07/2021 9:50 |
Agente1 | no listo | 01/07/2021 9:50 |
Agente1 | listo | 01/07/2021 9:51 |
Agente3 | Iniciar sesión | 01/07/2021 10:56 |
Agente3 | no listo | 01/07/2021 10:56 |
Agente3 | listo | 01/07/2021 11:03 |
Agente3 | no listo | 01/07/2021 12:04 |
Agente3 | listo | 01/07/2021 12:04 |
Agente3 | no listo | 01/07/2021 12:25 |
Agente3 | listo | 01/07/2021 12:42 |
Agente1 | no listo | 01/07/2021 12:46 |
Agente1 | listo | 01/07/2021 13:00 |
Agente3 | no listo | 01/07/2021 13:27 |
Agente1 | no listo | 01/07/2021 13:48 |
Agente3 | listo | 01/07/2021 13:48 |
Agente1 | listo | 01/07/2021 13:54 |
Agente3 | no listo | 01/07/2021 15:18 |
Agente3 | listo | 01/07/2021 15:30 |
Agente1 | Cerrar sesión | 01/07/2021 16:00 |
Agente3 | no listo | 01/07/2021 17:13 |
Agente3 | listo | 01/07/2021 17:14 |
Agente3 | no listo | 01/07/2021 17:59 |
Agente3 | listo | 01/07/2021 18:09 |
Agente3 | no listo | 01/07/2021 18:54 |
Agente3 | listo | 01/07/2021 18:58 |
Agente3 | no listo | 01/07/2021 19:22 |
Agente3 | listo | 01/07/2021 19:24 |
Agente3 | Cerrar sesión | 01/07/2021 20:01 |
Agente3 | Iniciar sesión | 02/07/2021 13:02 |
Agente3 | no listo | 02/07/2021 13:02 |
Agente3 | listo | 02/07/2021 13:03 |
Agente3 | no listo | 02/07/2021 13:03 |
Agente3 | listo | 02/07/2021 13:13 |
Agente3 | no listo | 02/07/2021 13:13 |
Agente3 | listo | 02/07/2021 13:26 |
Agente3 | no listo | 02/07/2021 17:28 |
Agente3 | listo | 02/07/2021 17:44 |
Agente3 | Cerrar sesión | 02/07/2021 19:00 |
Agente1 | Iniciar sesión | 03/07/2021 14:00 |
Agente1 | no listo | 03/07/2021 14:00 |
Agente1 | listo | 03/07/2021 14:00 |
Agente1 | no listo | 03/07/2021 15:33 |
Agente1 | listo | 03/07/2021 15:36 |
Agente1 | no listo | 03/07/2021 16:47 |
Agente1 | listo | 03/07/2021 16:58 |
Agente1 | Cerrar sesión | 03/07/2021 20:00 |
Solved! Go to Solution.
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
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.
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
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
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
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
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.
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
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.
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the June 2024 Power BI update to learn about new features.