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

Recuento de sesiones en períodos de tiempo superpuestos

Tengo una tabla de datos que proporciona la hora de inicio y finalización de las sesiones de usuario en un sistema.

Me gustaría poder crear un informe que dé un número total de usuarios en una hora o día determinado.

He encontrado algunas medidas y patrones que hacen esto en el nivel del día, pero estoy más interesado en el recuento por hora.

Datos de ejemplo:

Usuario

Computadora

Hora de inicio de la sesión

Hora de finalización de la sesión

Usuario1

Ordenador1

26/01/2021 9:35

26/01/2021 13:39

Usuario2

Ordenador2

26/01/2021 12:14

29/01/2021 4:27

Usuario3

Ordenador3

26/01/2021 15:49

26/01/2021 15:54

Usuario4

Ordenador4

26/01/2021 18:30

26/01/2021 23:47

Usuario6

Ordenador6

26/01/2021 22:13

26/01/2021 22:16

Usuario6

Ordenador6

26/01/2021 22:22

27/01/2021 4:21

Usuario5

Ordenador5

26/01/2021 22:39

27/01/2021 7:06

Usuario4

Ordenador4

27/01/2021 7:17

28/01/2021 16:50

Usuario3

Ordenador3

27/01/2021 8:46

27/01/2021 9:17

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Cree una tabla de calendario que tenga granularidad de nivel de hora.

Mesa:

Horas = CROSSJOIN(GENERATESERIES(0,23,1),CALENDAR(min(Sessions[Session Start]),max(Sessions[Session End]))))
Columna calculada:
Ranura = Horas[Fecha]+divide(Horas[Valor],24)

A continuación, utilice COUNTROWS() para encontrar las sesiones coincidentes para cada ranura por hora.

Aquí hay una medida que requiere que toda la hora sea cubierta por la sesión

Sesiones :=
var t = SELECTEDVALUE(Horas[Ranura])
recuentos de retorno(filter(Sessions,Sessions[Session Start]<=t && Sessions[Session End]>=t))
Aquí hay una versión que también cuenta los parciales.
Sesiones2 :=
var t = SELECTEDVALUE(Horas[Ranura])
recuentos de retorno (filtro(Sesiones,Divide(int(Sessions[Inicio de sesión]*24),24)<=t && Divide(int(Sessions[Session End]*24),24)>=t))
lbendlin_0-1614019611903.png

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

No @monkeymagik,

¿Su problema está resuelto ahora?

Saludos
Kelly

¿Respondí a tu pregunta? ¡Marca mi puesto como solución!

Syndicate_Admin
Administrator
Administrator

Cree una tabla de calendario que tenga granularidad de nivel de hora.

Mesa:

Horas = CROSSJOIN(GENERATESERIES(0,23,1),CALENDAR(min(Sessions[Session Start]),max(Sessions[Session End]))))
Columna calculada:
Ranura = Horas[Fecha]+divide(Horas[Valor],24)

A continuación, utilice COUNTROWS() para encontrar las sesiones coincidentes para cada ranura por hora.

Aquí hay una medida que requiere que toda la hora sea cubierta por la sesión

Sesiones :=
var t = SELECTEDVALUE(Horas[Ranura])
recuentos de retorno(filter(Sessions,Sessions[Session Start]<=t && Sessions[Session End]>=t))
Aquí hay una versión que también cuenta los parciales.
Sesiones2 :=
var t = SELECTEDVALUE(Horas[Ranura])
recuentos de retorno (filtro(Sesiones,Divide(int(Sessions[Inicio de sesión]*24),24)<=t && Divide(int(Sessions[Session End]*24),24)>=t))
lbendlin_0-1614019611903.png

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.