Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowThe 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.
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ón | Hora de salida | Reservas | En las reservas de edificios |
09:30:00 | 11:30 | 6 | 6 |
09:35:00 | 11:35 | 4 | 10 |
09:40:00 | 11:40 | 2 | 12 |
09:45:00 | 11:45 | 1 | 13 |
09:50:00 | 11:50 | 1 | 14 |
09:55:00 | 11:55 | 5 | 19 |
10:00:00 | 12:00 | 5 | 24 |
10:05:00 | 12:05 | 2 | 26 |
11:35:00 | 13:35 | 7 | 23 |
11:40:00 | 13:40 | 1 | 22 |
12:00:00 | 14:00 | 6 | 16 |
12:10:00 | 14:10 | 2 | 16 |
13:35:00 | 15:35 | 6 | 15 |
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.
Solved! Go to Solution.
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
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
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 😁
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
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
¡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]
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.
@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])))
@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 🙂
⭕ Subscribe and learn Power BI from these videos
⚪ Website ⚪ LinkedIn ⚪ PBI User Group
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the February 2025 Power BI update to learn about new features.