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
La tabla siguiente es mi origen de datos, cada fila es una actividad dentro del recorrido transporte (1ª columna a la izquierda). No sé cómo convertir los datos verticales a horizontales en un orden cronológico (inicio, carga, descarga, final) basado en el tiempo.
Cabezal de paseo | id de actividad | nombre de la actividad | Hora | código postal, etc. |
313790 | 180978 | Empezar | 06:00 | 4844 |
313790 | 180979 | Carga | 06:15 | 4844 |
313790 | 180980 | Descargar | 13:15 | 5001 |
313790 | 180981 | Final | 17:00 | 4844 |
Quiero hacer una tabla visual con columnas calculadas (duración), algo como esto a continuación:
Cabezal de paseo | Empezar | Carga | Tiempo de carga de duración | Codigopostal | Descargar | Duración Tiempo de conducción y descarga | Codigopostal | Final | Duración del tiempo de vuelta | Tiempo total |
313790 | 06:00 | 06:15 | 15 min | 4844 | 13:15 | 7 horas | 5001 | 17:00 | 3:45 | 11 horas |
Espero que sea comprensible.
Gracias de antemano.
Solved! Go to Solution.
No @souhail98,
He creado un archivo pbix de ejemplo (ver archivo adjunto) basado en los datos proporcionados, por favor compruebe si eso es lo que desea.
1. Cree una tabla Ordenar
2. Cree una medida a continuación para obtener la duración
Duration =
VAR _curtime =
SELECTEDVALUE ( 'Table'[Time] )
VAR _preaid =
CALCULATE (
MAX ( 'Table'[activity id] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Ride header] = SELECTEDVALUE ( 'Table'[Ride header] )
&& 'Table'[Time] < _curtime
)
)
VAR _pretime =
CALCULATE (
MAX ( 'Table'[Time] ),
FILTER ( ALLSELECTED ( 'Table' ), 'Table'[activity id] = _preaid )
)
VAR _duration =
DATEDIFF ( _pretime, _curtime, SECOND ) //var _day= INT(_duration/(24*60*60))
VAR _hour =
MOD ( INT ( _duration / ( 60 * 60 ) ), 24 )
VAR _minute =
MOD ( INT ( _duration / 60 ), 60 )
VAR _second =
MOD ( _duration, 60 )
RETURN
//if(_day=0,BLANK(),_day&"day(s) ")&
IF (
_hour = 0,
BLANK (),
_hour & "hour(s) "
)
& IF ( _minute = 0, BLANK (), _minute & "minute(s) " )
& IF ( _second = 0, BLANK (), _second & "second(s) " )
3. Coloque el nombre de actividad de campo de la tabla Ordenar (Ordenar por columna: Orden ) , campo Encabezado de recorrido y medir en matriz
Ordene una columna con un pedido personalizado en Power BI
Saludos
No @souhail98,
He creado un archivo pbix de ejemplo (ver archivo adjunto) basado en los datos proporcionados, por favor compruebe si eso es lo que desea.
1. Cree una tabla Ordenar
2. Cree una medida a continuación para obtener la duración
Duration =
VAR _curtime =
SELECTEDVALUE ( 'Table'[Time] )
VAR _preaid =
CALCULATE (
MAX ( 'Table'[activity id] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Ride header] = SELECTEDVALUE ( 'Table'[Ride header] )
&& 'Table'[Time] < _curtime
)
)
VAR _pretime =
CALCULATE (
MAX ( 'Table'[Time] ),
FILTER ( ALLSELECTED ( 'Table' ), 'Table'[activity id] = _preaid )
)
VAR _duration =
DATEDIFF ( _pretime, _curtime, SECOND ) //var _day= INT(_duration/(24*60*60))
VAR _hour =
MOD ( INT ( _duration / ( 60 * 60 ) ), 24 )
VAR _minute =
MOD ( INT ( _duration / 60 ), 60 )
VAR _second =
MOD ( _duration, 60 )
RETURN
//if(_day=0,BLANK(),_day&"day(s) ")&
IF (
_hour = 0,
BLANK (),
_hour & "hour(s) "
)
& IF ( _minute = 0, BLANK (), _minute & "minute(s) " )
& IF ( _second = 0, BLANK (), _second & "second(s) " )
3. Coloque el nombre de actividad de campo de la tabla Ordenar (Ordenar por columna: Orden ) , campo Encabezado de recorrido y medir en matriz
Ordene una columna con un pedido personalizado en Power BI
Saludos
¡Muchas gracias! Las actividades debían estar en orden cronológico basado en el tiempo. El ejemplo siguiente muestra varias actividades dentro de un ''encabezado rit'''. Las actividades se realizan indistintamente dentro del proceso. ¿Es posible hacer una línea de tiempo dinámica del proceso?
Saludos
Souhail
No @souhail98,
En este caso, no es necesario crear otra tabla de dimensiones Sort. Primero seleccione el nombre de la actividaddel campo y, a continuación, vaya a la cinta de opciones Herramientas de columna y haga clic en Ordenar por columna para seleccionar el campo Hora.
Saludos
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 |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |