Ocupación: calcula el número máximo de personas presentes en un área al mismo tiempo

Un usuario Pregunto ✅

gipiluso

Hola a todos,

Tengo un problema interesante que resolver en Power BI.

Me gustaría monitorear el «número máximo de personas» regalo en un área al mismo tiempo.

ejemplo de ocupación.PNG

Intenté un par de formas pero no cumplen con los requisitos:

  • Calcule el número de entradas en el área en el período de tiempo – No considera si las personas no están presentes al mismo tiempo en el área
  • Calcule en el backend, como en el ejemplo: no es dinámico en el filtro.

Básicamente, no pude obtener en dax la columna «recuento».

¿Cómo gestionó requisitos similares? ¿Tienes alguna sugerencia?

Gracias de antemano por su apoyo.

BR

GP

gipiluso

En respuesta a v-lili6-msft

Hola v-lili6-msft ,

gracias por su opinión.

Desafortunadamente, su medida tiene un problema, al filtrar un solo recurso en la segmentación, obtuvo los valores máximos de esto, pero un recurso puede ocupar solo un espacio (ver más abajo).

Resolví con

Ocupación en la habitación = CALCULAR (
SUM (FactOccupancy[InOut]), FILTRO (ALLSELECTED (FactOccupancy), FactOccupancy[DateTime] <= MAX (FactOccupancy[DateTime] )
),
FILTROS (
FactOccupancy[area])

)

Ocupación máxima = MAXX (
VALORES (FactOccupancy), FactOccupancy[Occupancy in Room])

problem_measures.PNG

hola @gipiluso

Eche un vistazo a estas dos medidas rápidas, ya que creo que desea algo como ellas.

https://community.powerbi.com/t5/Quick-Measures-Gallery/Open-Tickets/mp/409364
https://community.powerbi.com/t5/Quick-Measures-Gallery/Periodic-Billing/mp/409365

Pero en su caso, debe pensar más profundamente, también necesita un horario diario, le recomiendo que solo considere que la tabla de tiempo crece en diez minutos y compare por número de tiempo como se muestra a continuación

time number = HOUR(TimeTable[time])*100+MINUTE(TimeTable[time])

12.JPG

de lo contrario, el cálculo será cada vez más grande.

Atentamente,

Lin

gipiluso

En respuesta a v-lili6-msft

en realidad, el problema no es calcular el recuento de columnas.

También con el apoyo de Reza (el gran) pude calcular la medida en dax con un enfoque total acumulativo:

Ocupación en la habitación = CALCULAR (
SUM (ocupación[InOut]),
FILTRO (
ALLEXCEPT (ocupación, ocupación[area]),
Ocupación[DateTime] <= MAX (ocupación[DateTime] )
)
)

el problema es que mi requisito es calcular el máximo por área dinámica con la cortadora

ejemplo de ocupación acumulativo.PNG

En respuesta a gipiluso

hola @gipiluso

Después de mi prueba en tu camino, no hay un selector de fecha y hora por ahora,

Y puede probar esta medida mejorada según su fórmula:

Measure = var _table=SUMMARIZE('Table','Table'[event time],'Table'[area],"OccupancyRoom",CALCULATE (
SUM ('Table'[InOut]),
FILTER (
ALLEXCEPT( 'Table','Table'[area]),
 'Table'[event time]<= MAX ('Table'[event time])
)
)) return
CALCULATE(MAXX(_table,[OccupancyRoom]))

Resultado:

5.JPG

Aquí está pbix, inténtelo.

https: //www.dropbox.com/s/iridr33knsqdjfu/calculate%20the%20max%20number%20of%20people%20present%20i …

Atentamente,

Lin

gipiluso

En respuesta a v-lili6-msft

Hola v-lili6-msft ,

gracias por su opinión.

Desafortunadamente, su medida tiene un problema, al filtrar un solo recurso en la segmentación, obtuvo los valores máximos de esto, pero un recurso puede ocupar solo un espacio (ver más abajo).

Resolví con

Ocupación en la habitación = CALCULAR (
SUM (FactOccupancy[InOut]), FILTRO (ALLSELECTED (FactOccupancy), FactOccupancy[DateTime] <= MAX (FactOccupancy[DateTime] )
),
FILTROS (
FactOccupancy[area])

)

Ocupación máxima = MAXX (
VALORES (FactOccupancy), FactOccupancy[Occupancy in Room])

problem_measures.PNG

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *