Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola, estoy tratando de crear un gráfico como el siguiente:
Los datos son similares a:
Equipo | HORA DE INICIO | TIEMPO DE FINALIZACIÓN | CATEGOY COLOR |
HT001 | 1/01/2020 09:00:02 | 1/01/2020 09:45:00 | Imprevistas |
HT003 | 1/01/2020 09:50:01 | 1/01/2020 14:58:12 | Atraso |
HT004 | 1/01/2020 12:50:23 | 1/01/2020 14:50:00 | Imprevistas |
HT002 | 1/01/2020 17:18:01 | 2/01/2020 04:00:09 | Programado |
cómo puedo resolver esto?, Gracias de antemano por cualquier consejo!
Solved! Go to Solution.
No @Julver,
Primero necesitas crear una tabla de calendario con fecha y hora algo simlar a esto:
DateTime =
ADDCOLUMNS (
CROSSJOIN (
CALENDAR ( DATE ( 2020, 1, 1 ), DATE ( 2020, 12, 31 ) ),
UNION (
ROW ( "Time", TIME ( 1, 0, 0 ) ),
ROW ( "Time", TIME ( 2, 0, 0 ) ),
ROW ( "Time", TIME ( 3, 0, 0 ) ),
ROW ( "Time", TIME ( 4, 0, 0 ) ),
ROW ( "Time", TIME ( 5, 0, 0 ) ),
ROW ( "Time", TIME ( 6, 0, 0 ) ),
ROW ( "Time", TIME ( 7, 0, 0 ) ),
ROW ( "Time", TIME ( 9, 0, 0 ) ),
ROW ( "Time", TIME ( 10, 0, 0 ) ),
ROW ( "Time", TIME ( 11, 0, 0 ) ),
ROW ( "Time", TIME ( 12, 0, 0 ) ),
ROW ( "Time", TIME ( 13, 0, 0 ) ),
ROW ( "Time", TIME ( 14, 0, 0 ) ),
ROW ( "Time", TIME ( 15, 0, 0 ) ),
ROW ( "Time", TIME ( 16, 0, 0 ) ),
ROW ( "Time", TIME ( 17, 0, 0 ) ),
ROW ( "Time", TIME ( 18, 0, 0 ) ),
ROW ( "Time", TIME ( 19, 0, 0 ) ),
ROW ( "Time", TIME ( 20, 0, 0 ) ),
ROW ( "Time", TIME ( 21, 0, 0 ) ),
ROW ( "Time", TIME ( 22, 0, 0 ) ),
ROW ( "Time", TIME ( 23, 0, 0 ) ),
ROW ( "Time", TIME ( 24, 0, 0 ) )
)
),
"DateTime", [Date] + [Time],
"Hour", HOUR ( [Time] )
)
Ahora cree la siguiente medida:
Count based on hours =
CALCULATE (
COUNT ( 'Table'[EQUIP] ),
FILTER (
'Table',
'Table'[FINISH TIME] >= MAX ( DateTime[DateTime] )
&& 'Table'[START TIME] <= MAX ( DateTime[DateTime] )
)
)
Esto da el resultado siguiente usando la fecha y hora tiene un eje y la medida en valores:
Mirar su imagen me parece que usted no está considerando los segundos en cada uno de los inicios y acabados, así que creé dos nuevas columnas:
FinishTimeNoSeconds = MROUND ( 'Table'[FINISH TIME], TIME ( 1, 0, 0 ) ) + TIME ( 0, 0, 0 )
StartTimeNoSeconds = MROUND ( 'Table'[START TIME], TIME ( 1, 0, 0 ) ) + TIME ( 0, 0, 0 )
Esto elimina los segundos del inicio y el final ahora sólo tiene que rehacer su medida para:
Count based on hours no seconds =
CALCULATE (
COUNT ( 'Table'[EQUIP] ),
FILTER (
'Table',
'Table'[FinishTimeNoSeconds] >= MAX ( DateTime[DateTime] )
&& 'Table'[StartTimeNoSeconds] <= MAX ( DateTime[DateTime] )
)
)
Resultado a continuación:
Para la fecha y las horas que necesita para girar los valores concactenate y mostrar valores sin datos.
Resultado en adjuntar archivo PBIX.
muchas gracias @MFelix, tuve 2 resultados:
Un.
B.
¿Es posible mostrar en el gráfico B, rellenar el mismo color que la leyenda del gráfico A?
Hola @Julver cuando dices tener los mismos colores, ¿qué quieres decir con tener los colores del no programa y el programa basados en el equipo?
Por favor, ¿cómo puedo configurarme para comenzar el informe a las 7:00 am y terminar a las 07:00 a.m. del día siguiente?
exactamente, colores del no programa y programa basado en el equipo.
No @Julver,
Primero necesitas crear una tabla de calendario con fecha y hora algo simlar a esto:
DateTime =
ADDCOLUMNS (
CROSSJOIN (
CALENDAR ( DATE ( 2020, 1, 1 ), DATE ( 2020, 12, 31 ) ),
UNION (
ROW ( "Time", TIME ( 1, 0, 0 ) ),
ROW ( "Time", TIME ( 2, 0, 0 ) ),
ROW ( "Time", TIME ( 3, 0, 0 ) ),
ROW ( "Time", TIME ( 4, 0, 0 ) ),
ROW ( "Time", TIME ( 5, 0, 0 ) ),
ROW ( "Time", TIME ( 6, 0, 0 ) ),
ROW ( "Time", TIME ( 7, 0, 0 ) ),
ROW ( "Time", TIME ( 9, 0, 0 ) ),
ROW ( "Time", TIME ( 10, 0, 0 ) ),
ROW ( "Time", TIME ( 11, 0, 0 ) ),
ROW ( "Time", TIME ( 12, 0, 0 ) ),
ROW ( "Time", TIME ( 13, 0, 0 ) ),
ROW ( "Time", TIME ( 14, 0, 0 ) ),
ROW ( "Time", TIME ( 15, 0, 0 ) ),
ROW ( "Time", TIME ( 16, 0, 0 ) ),
ROW ( "Time", TIME ( 17, 0, 0 ) ),
ROW ( "Time", TIME ( 18, 0, 0 ) ),
ROW ( "Time", TIME ( 19, 0, 0 ) ),
ROW ( "Time", TIME ( 20, 0, 0 ) ),
ROW ( "Time", TIME ( 21, 0, 0 ) ),
ROW ( "Time", TIME ( 22, 0, 0 ) ),
ROW ( "Time", TIME ( 23, 0, 0 ) ),
ROW ( "Time", TIME ( 24, 0, 0 ) )
)
),
"DateTime", [Date] + [Time],
"Hour", HOUR ( [Time] )
)
Ahora cree la siguiente medida:
Count based on hours =
CALCULATE (
COUNT ( 'Table'[EQUIP] ),
FILTER (
'Table',
'Table'[FINISH TIME] >= MAX ( DateTime[DateTime] )
&& 'Table'[START TIME] <= MAX ( DateTime[DateTime] )
)
)
Esto da el resultado siguiente usando la fecha y hora tiene un eje y la medida en valores:
Mirar su imagen me parece que usted no está considerando los segundos en cada uno de los inicios y acabados, así que creé dos nuevas columnas:
FinishTimeNoSeconds = MROUND ( 'Table'[FINISH TIME], TIME ( 1, 0, 0 ) ) + TIME ( 0, 0, 0 )
StartTimeNoSeconds = MROUND ( 'Table'[START TIME], TIME ( 1, 0, 0 ) ) + TIME ( 0, 0, 0 )
Esto elimina los segundos del inicio y el final ahora sólo tiene que rehacer su medida para:
Count based on hours no seconds =
CALCULATE (
COUNT ( 'Table'[EQUIP] ),
FILTER (
'Table',
'Table'[FinishTimeNoSeconds] >= MAX ( DateTime[DateTime] )
&& 'Table'[StartTimeNoSeconds] <= MAX ( DateTime[DateTime] )
)
)
Resultado a continuación:
Para la fecha y las horas que necesita para girar los valores concactenate y mostrar valores sin datos.
Resultado en adjuntar archivo PBIX.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |