Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
Hola. Estoy buscando ayuda para encontrar una manera de calcular la utilización (%) por día y hora que se pueden mostrar en una tabla de matriz. 🙂 El número total de habitaciones disponibles puede ser necesario para calcular la utilización.
Conjunto de datos de ejemplo:
Habitación | Día de la reunión | Hora de inicio | Hora de finalización |
CA0008 | W | 11:00 AM | 12:15 PM |
CA0008 | Tr | 9:35 AM | 10:50 AM |
CA0008 | Tr | 11:00 AM | 12:15 PM |
CA0008 | T | 3:00 PM | 4:50 PM |
CA0008 | R | 4:15 PM | 5:30 PM |
CA0008 | Mw | 3:00 PM | 4:15 PM |
CB0115 | Tr | 11:00 AM | 12:15 PM |
CB0115 | Tr | 1:00 PM | 2:15 PM |
CB0115 | R | 3:00 PM | 5:50 PM |
CB0220 | Tr | 10:00 AM | 10:50 AM |
CB0220 | Tr | 4:00 PM | 5:30 PM |
CB0220 | Tr | 4:00 PM | 5:30 PM |
CB0220 | MWF | 8:00 AM | 8:50 AM |
CC0030 | Tr | 1:00 PM | 2:50 PM |
CC0030 | Mw | 11:00 AM | 12:50 PM |
CC0132 | T | 2:00 PM | 4:50 PM |
CD0133 | Tr | 2:00 PM | 3:15 PM |
CD0133 | Mw | 2:00 PM | 3:15 PM |
CD0133 | M | 9:00 AM | 11:50 AM |
Tabla de matriz de muestra:
Día/Hora | 8 AM | 9 AM | 10 AM | 11 AM | 12 PM | 1 PM | 2 PM | 3 PM | 4 PM |
M |
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
W |
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
|
|
|
¡Apreciamos cualquier orientación y asistencia!
Concierto
Hola, @tsupani
De acuerdo con el resultado esperado, creo que lo que se puede lograr en Power BI es la parte de datos, este es el resultado que puedo lograr:
Además, no creo que los datos detallados (número de habitación y período de tiempo) también se puedan mostrar en Power BI Matrix, le sugiero que acepte esta respuesta como solución y abra un nuevo caso para hacer esta pregunta para que más exportaciones puedan investigar si esto se puede lograr en Power BI.
Este es mi archivo pbix de prueba de acuerdo con su resultado esperado (Mis pasos son similares a los pasos que mencioné antes):
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola, @tsupani
De acuerdo con su descripción, puedo entender su requisito claramente, y usted puede seguir mis pasos y averiguar si es exactamente lo que desea:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("hZJNDoMgEIWvYli7eMNIYtlpm+5IjGniwnj/axSo4KA2LGZCwsd788O6qucAoFetWnwQWaAZXDhqS6aZnNpaAX1mnx6WzQ7BmshfobqUDw7MFJguCJ2ROV783rbKWL4ibjnJCKcRRKZaT0llpVtmLsyMrHmE1sgyOMyKERVUJ5T4j1KFccvb5z679dLsCTDuOhNlJ8Zd119QxHrfmb7f2csjnMwOhuUYExPNakz8aLkcSo1tXw==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Room = _t, #"Meeting Day" = _t, #"Start Time" = _t, #"End Time" = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Start Time", type time}, {"End Time", type time}}),
#"Split Column by Position" = Table.SplitColumn(#"Changed Type", "Meeting Day", Splitter.SplitTextByRepeatedLengths(1), {"Meeting Day.1", "Meeting Day.2", "Meeting Day.3"}),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Position",{{"Room", type text}, {"Meeting Day.1", type text}, {"Meeting Day.2", type text}, {"Meeting Day.3", type text}}),
#"Unpivoted Only Selected Columns" = Table.Unpivot(#"Changed Type1", {"Meeting Day.1", "Meeting Day.2", "Meeting Day.3"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Only Selected Columns",{"Attribute"}),
#"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Value", "Meeting Day"}}),
#"Reordered Columns" = Table.ReorderColumns(#"Renamed Columns",{"Room", "Meeting Day", "Start Time", "End Time"})
in
#"Reordered Columns"
Time =
var _hour=GENERATESERIES(8,16,1)
return SELECTCOLUMNS(_hour,"Start Time",TIME([Value],1,0),"End Time",TIME([Value]+1,0,0),"Time period",TIME([Value],1,0)&" - "&TIME([Value]+1,0,0))
utilization =
var _allrooms=
CALCULATE(DISTINCTCOUNT('Table'[Room]),ALL('Table'))
var _usedrooms=
CALCULATE(
COUNT('Table'[Room]),
FILTER(ALLSELECTED('Table'),
[Start Time]<=MAX('Time'[Start Time])&&[End Time]>=MAX('Time'[End Time])&&[Meeting Day]=MAX('Table'[Meeting Day])))
var _utilization=
DIVIDE(_usedrooms,_allrooms)
return
IF(_utilization=BLANK(),0,_utilization)
Y puedes conseguir lo que quieras.
Puede descargar mi archivo pbix de prueba aquí
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola @v-robertq-msft. Le agradezco su ayuda. Todavía no puedo obtener la tabla de matriz correcta, ya que la mayoría de las clases están programadas en diferentes patrones (TR, MWF, MW, etc.). Para la tabla de matriz, espero ver el patrón de programación por día (M, T, W, R y F) en cada intervalo de horas.
Permítanme aclarar esto con un poco más de detalle.
Datos de muestra:
CA0008, 8:00 AM - 8:50 AM, MWF
CB0220, 8:00 AM - 8:50 AM, MW
CC0030, 8:00 AM - 8:50 AM, MW
CA0008, 8:00 AM- 8:50 AM, TR
CB0220, 8:00 AM - 8:50 AM, T
Utilización (Número total de habitaciones ocupadas/número total de habitaciones disponibles)*100
Nota: Número total de habitaciones disponibles - 10
Tabla de matriz esperada:
¡Muchas gracias por su tiempo y ayuda!
Concierto
Hola, @tsupani
Time =
var _hour=GENERATESERIES(8,16,1)
return SELECTCOLUMNS(_hour,"Time",TIME([Value],0,0))
utilization =
var _allrooms=
CALCULATE(DISTINCTCOUNT('Table'[Room]),ALL('Table'))
var _usedrooms=
CALCULATE(
COUNT('Table'[Room]),
FILTER(ALLSELECTED('Table'),
[Start Time]<=MAX('Time'[Time])&&[End Time]>=MAX('Time'[Time])&&[Meeting Day]=MAX('Table'[Meeting Day])))
var _utilization=
DIVIDE(_usedrooms,_allrooms)
return
IF(_utilization=BLANK(),0,_utilization)
Y puedes conseguir lo que quieras.
Puede descargar mi archivo pbix de prueba aquí
Saludos
Equipo de apoyo a la comunidad _Robert Qin
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias por tomarse el tiempo para averiguar la solución. 🙂
Siento no haber sido claro sobre mi comunicación en el primer post. La solución propuesta parece moverse en la dirección correcta, pero aún así no cumple ciertos requisitos. En particular, espero ver la utilización por día (incluyendo M, T, W, R y F) en lugar de los patrones del día de la reunión (por ejemplo, M, MW, MWF, etc.) y por hora de 8 AM - 4 PM (por ejemplo, 8:01 am - 9:00 am, 9:01 am - 10:00 am, etc.).
@tsupani, en primer lugar, necesita un cubo por hora. Vea si la tabla de tiempo o una combinación con una tabla de tiempo puede ayudar
https://kohera.be/blog/power-bi/how-to-create-a-time-table-in-power-bi-in-a-few-simple-steps/
entonces esta medida debería funcionar
divide(distinctcount(Table[Room]), calculate(distinctcount(Table[Room]), allselected(Table)))
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.