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

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.

Reply
Syndicate_Admin
Administrator
Administrator

Datos de fila en orden cronológico

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 Horacódigo postal, etc.
313790180978Empezar06:004844
313790180979Carga06:154844
313790180980Descargar13:155001
313790180981Final 17:004844

Quiero hacer una tabla visual con columnas calculadas (duración), algo como esto a continuación:

Cabezal de paseoEmpezarCargaTiempo de carga de duraciónCodigopostal Descargar

Duración

Tiempo de conducción y descarga

CodigopostalFinal Duración del tiempo de vuelta Tiempo total
31379006:0006:1515 min484413:157 horas500117:003:4511 horas

Espero que sea comprensible.

Gracias de antemano.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

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

yingyinr_0-1615428093936.png

Saludos

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

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

yingyinr_0-1615428093936.png

Saludos

No hay @yingyinr

¡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?

multiple times.PNG

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.

yingyinr_0-1615527487943.png

Saludos

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

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