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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
fetster
Frequent Visitor

Cálculo de personas en un edificio en función de los horarios de llegada y salida

Hola. Tengo una tabla para entradas que muestra tiempo de admisión, hora de salida, número de reservas.

Me gustaría calcular el número de reservas que estaban en el edificio en cualquier momento (en las reservas de edificios). He producido el resultado deseado en Excel calculando manualmente los tiempos que se superponen, pero no sabría por dónde empezar a replicar esto correctamente en Power BI

Ejemplo - A las 11:40 me gustaría saber cuántas reservas hay en el edificio. Por lo tanto, los cálculos deben totalizar el número de reservas que deben llegar hasta 11:40 menos el número total de reservas que tienen una hora de salida hasta las 11:40.

El cálculo sería (6+4+2+1+1+5+5+2+7+1-6-4-2) 22 Reservas en el edificio.

Hora de admisiónHora de salidaReservasEn las reservas de edificios
09:30:0011:3066
09:35:0011:35410
09:40:0011:40212
09:45:0011:45113
09:50:0011:50114
09:55:0011:55519
10:00:0012:00524
10:05:0012:05226
11:35:0013:35723
11:40:0013:40122
12:00:0014:00616
12:10:0014:10216
13:35:0015:35615

La tabla anterior asume que la gente visitará durante exactamente 2 horas y aparecerá a intervalos de 5 minutos que es correcto para el lado de emisión de billetes de las cosas, pero también tendré que ejecutar un cálculo similar para tener en cuenta los horarios reales de llegada y salida que no será exactamente 2 horas de duración y no se redondeará a 5 minutos más cercanos.

Gracias por leer esta pregunta y espero haberla publicado en el lugar correcto.

1 ACCEPTED SOLUTION
AlB
Community Champion
Community Champion

@fetster

De hecho, lo complicé en mi post anterior. Puede ser más simple:

Column V2 =
VAR currentAdm_ = Table1[Admission Time]
RETURN
    CALCULATE (
        SUM ( Table1[Bookings] ),
        Table1[Admission Time] <= currentAdm_,
        Table1[Exit Time] > currentAdm_,
        ALL ( Table1 )
    )

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

View solution in original post

9 REPLIES 9
AlB
Community Champion
Community Champion

@fetster

Puede crear una tabla de tiempo auxiliar para colocar en el eje X del gráfico y, a continuación, una medida:

Measure =
VAR currentTime_ =
    SELECTEDVALUE ( TimeT[Time] )
VAR last_ =
    CALCULATE (
        LASTNONBLANK ( TimeT[Time], CALCULATE ( MAX ( Table1[In Building Bookings] ) ) ),
        TimeT[Time] <= currentTime_
    )
RETURN
    CALCULATE ( DISTINCT ( Table1[In Building Bookings] ), TimeT[Time] = last_ )

En realidad, si desea hacer esto habría sido mejor crear una medida desde el principio (en lugar de la columna calculada que creamos anteriormente). Ver todo en el trabajo en el archivo adjunto.

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

fetster
Frequent Visitor

Gracias por todas sus respuestas funciona un placer- Le debo a todos una cerveza !!! Me uní a la fecha de reserva con los horarios de llegada y salida para poder aplicar el cálculo a cada día

Una pregunta adicional por favor -
La tabla solo muestra las horas de llegada que tienen las reservas de llegada asociadas a ellas (10:10, 10:15 ....) no se muestran en la tabla, ya que no hay reservas relevantes. Quiero producir un barchart que abarca todo el día (de 09:30 a 18:00) que mostrará los datos de Bookings In Building para cada intervalo de 5 minutos de 09:30 a 18:00 en lugar de solo los horarios que tienen reservas.

¿Es posible?

@fetster mmmm... ¡Cerveza! 😉

Este es un vínculo para crear una tabla de tiempo en Power Query. Escuche @AlB... saben lo que están haciendo. Me ha ayudado muchas veces 😁

littlemojopuppy
Community Champion
Community Champion

@fetster usar @AlB sugerencia... simple y elegante! 😉

AlB
Community Champion
Community Champion

@fetster

De hecho, lo complicé en mi post anterior. Puede ser más simple:

Column V2 =
VAR currentAdm_ = Table1[Admission Time]
RETURN
    CALCULATE (
        SUM ( Table1[Bookings] ),
        Table1[Admission Time] <= currentAdm_,
        Table1[Exit Time] > currentAdm_,
        ALL ( Table1 )
    )

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

AlB
Community Champion
Community Champion

No @fetster

Si desea una columna calculada en la tabla, como parece mostrar:

Column =
VAR currentAdm_ = Table1[Admission Time]
RETURN
    CALCULATE (
        SUMX (
            SUMMARIZE (
                Table1,
                Table1[Admission Time],
                Table1[Exit Time],
                Table1[Bookings]
            ),
            Table1[Bookings]
        ),
        Table1[Admission Time] <= currentAdm_,
        Table1[Exit Time] > currentAdm_,
        ALL ( Table1 )
    )

Por favor, marque la pregunta resuelta cuando haya terminado y considere dar un pulgar hacia arriba si las publicaciones son útiles.

Póngase en contacto conmigo de forma privada para obtener asistencia con cualquier necesidad de BI a gran escala, tutoría, etc.

Salud

SU18_powerbi_badge

littlemojopuppy
Community Champion
Community Champion

¡Buenos días!

Aquí hay tres medidas...

Admissions = 
    CALCULATE(
	SUM(Bookings[Bookings]),
	Bookings[AdmissionDate] = TODAY(),
	FILTER(
            ALL(Bookings),
            Bookings[AdmissionTime] <= SELECTEDVALUE(Bookings[AdmissionTime])
        )
    )

Departures = 
    CALCULATE(
	SUM(Bookings[Bookings]),
	Bookings[ExitDate] = TODAY(),
	FILTER(
            ALL(Bookings),
            Bookings[ExitTime] <= SELECTEDVALUE(Bookings[AdmissionTime])
        )
    )

Bookings on Site = [Admissions] - [Departures]

littlemojopuppy_0-1608302390964.png


Agregué los campos de fecha de admisión y salida porque asumo que lo harás a lo largo del tiempo. Probablemente debería cambiar TODAY() en cada una de estas medidas a SELECTEDVALUE(Bookings[AdmissionDate]) para que funcionen a través de fechas en lugar de solo hoy.

amitchandak
Super User
Super User

@fetster, necesita tener una tabla de tiempo independiente para la segmentación de datos, y luego en el tiempo seleccionado

nueva medida

calculate(sum(Table[bookings]), filter(Table, Table[Admission Time]<- selectedvalue(Time[Time]) && Table[Exit Time] >- selectedvalue(Time[Time])))

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
Fowmy
Super User
Super User

@fetster

Agregue el siguiente código como columna a la tabla:

Building Bookings = 
var _admin = 'Table 3'[Admission Time]

return


CALCULATE(
    SUM('Table 3'[Bookings]),
    'Table 3'[Admission Time] <= _admin,
    ALL('Table 3')
) - 
CALCULATE(
    SUM('Table 3'[Bookings]),
    'Table 3'[Exit Time] <= _admin,
    ALL('Table 3')
)

Si necesita una medida, entonces:

Building Bookings Measure = 
var _admin = MAX('Table 3'[Admission Time])

return


CALCULATE(
    SUM('Table 3'[Bookings]),
    'Table 3'[Admission Time] <= _admin,
    ALL('Table 3')
) - 
CALCULATE(
    SUM('Table 3'[Bookings]),
    'Table 3'[Exit Time] <= _admin,
    ALL('Table 3')
)

________________________

Si mi respuesta fue útil, haga clic en Aceptarla como la solución para ayudar a otros miembros a encontrarla útil

Haga clic en el icono Thumbs-Up si le gusta esta respuesta 🙂


Sitio web Youtube Linkedin

Did I answer your question? Mark my post as a solution! and hit thumbs up


Subscribe and learn Power BI from these videos

Website LinkedIn PBI User Group

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors