Forum Discussion
Creación de datos de uso simultáneo
Hola @coolioaus ,
Para lograr esto en Power BI, podemos crear una solución mediante cálculos de DAX para contar los usuarios simultáneos en función de sus horas de inicio y cierre de sesión. Aquí tienes una guía paso a paso:
- Cargue los datos: En primer lugar, importe los datos en Power BI. Asegúrese de que las columnas SignIn y SignOut se reconozcan como tipos de datos de fecha y hora.
- Crear una tabla de horarios: Para analizar los datos por intervalos de tiempo (por ejemplo, cada 15 minutos o cada hora), cree una tabla de tiempo separada. Esta tabla nos permitirá comprobar si los usuarios han iniciado sesión durante intervalos de tiempo específicos.
- Vaya a la pestaña Modelado y seleccione Nueva tabla.
- Use el siguiente DAX para crear una tabla de horas que abarque todo el día (modifique el intervalo según sea necesario): TimeTable =
GENERAR(
CALENDARIO(FECHA(2024, 6, 11), FECHA(2024, 6, 11)),
Hora de inicio del VAR = HORA(0, 0, 0)
Hora de finalización del VAR = HORA(23, 59, 59)
RETURN GENERATESERIES(StartHour, EndHour, TIME(0, 15, 0))
)
Crear una medida para inicios de sesión simultáneos: esta medida contará cuántos usuarios han iniciado sesión durante cada intervalo de tiempo.
- Vaya a la pestaña Modelado y cree una nueva medida en la tabla de datos principal con el siguiente DAX: ConcurrentSignIns =
VAR CurrentTime = SELECTEDVALUE(TimeTable[Time])
DEVOLUCIÓN
COUNTROWS(
FILTRO(
'TuTablaDeDatos',
'YourDataTable'[SignIn] <= CurrentTime &&
'YourDataTable'[SignOut] >= CurrentTime
)
) - Asegúrese de reemplazar "YourDataTable" por el nombre de la tabla de datos real.
- Vaya a la pestaña Modelado y cree una nueva medida en la tabla de datos principal con el siguiente DAX: ConcurrentSignIns =
Visualiza los resultados: Cree un gráfico de líneas o áreas para mostrar el recuento de usuarios simultáneos a lo largo del tiempo.
Agregue TimeTable[Time] al eje X.
Agregue la medida ConcurrentSignIns al eje Y.
- Identificar períodos pico: para identificar períodos pico, puede crear una nueva medida para buscar el número máximo de inicios de sesión simultáneos en el día: PeakConcurrentSignIns = MAXX(ALL(TimeTable), [ConcurrentSignIns])
Esta configuración le permitirá ver cómo varía el número de inicios de sesión simultáneos con el tiempo y ayuda a identificar los períodos máximos de inicio de sesión durante el día
Si he resuelto su pregunta, considere marcar mi publicación como una solución. ¡Gracias!
- Syndicate_Admin1 year ago
Administrator
Gracias por la rápida respuesta. Al trabajar en su solución, he creado el Horario, pero recibo una advertencia que dice que "La columna 'Hora' en 'Horario' no se puede encontrar o no se puede usar en esta expresión".
- Syndicate_Admin1 year ago
Administrator
Lamento decirlo, pero esta solución que compartiste se parecía perfectamente a la que crea el copiloto. Si es así, socava los verdaderos esfuerzos de otros contribuyentes
Una vez creado el horario, debe cambiar el nombre de la columna a hora para usarla en el comando DAX
- Syndicate_Admin1 year ago
Administrator
Gracias, curiosamente también observo que las columnas han sido creadas con una fecha de 30/12/1899. ¿La parte del incremento de 15 minutos es correcta?
- Syndicate_Admin1 year ago
Administrator
Cambie el tipo de datos de la columna a Time. La fecha que se muestra aquí aparece de forma predeterminada
- Syndicate_Admin1 year ago
Administrator
Hola @Thejeswar ,
¡Gracias por los comentarios! Entiendo su preocupación. Mi objetivo es siempre proporcionar asistencia personalizada, y me esfuerzo por añadir información única más allá de lo que podrían ofrecer las sugerencias automatizadas. Pido disculpas si esta respuesta se sintió similar a las sugerencias de Copilot: estoy aquí para agregar valor y asegurarme de que la solución realmente satisfaga sus necesidades específicas.