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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
sergiogonzalez
Regular Visitor

Calcular la fecha entre los cambios de estado

Hola, necesito calcular el tiempo entre cada cambio de estado, tengo un índice (ID_HISTORIAL)

powerbi.jpg

Por ejemplo:
El tiempo entre 843453 y 844104 es de 2 días.
El tiempo entre 844104 y 845402 es de 4 días.

El tiempo entre 845402 y 846679 es de 2 días.

En otro caso, ID_TAREA es diferente.

El tiempo entre 845018 y 846680 es de 3 días.

Todos ellos, agrupados por ID_TAREA

Gracias

1 ACCEPTED SOLUTION

Hola @sergiogonzalez

Construyo una nueva mesa para lograr tu objetivo.

1.png

En primer lugar, construyo una columna de índice como antes.

var _rank =

RANKX (

    FILTER ( 'Table', 'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] ) ),

    'Table'[FECHA ENTREGADO].[Day],

    ,

    ASC,

    DENSE

)

Luego construyo una nueva columna calculada para calcularlos días entre cada cambio de columna "estado".

Time = 
VAR _Lastestado =
    CALCULATE (
        SUM ( 'Table'[ESTADO] ),
        FILTER ( 'Table', 'Table'[var _rank] = EARLIER ( 'Table'[var _rank] ) - 1 )
    )
VAR _DATE1 =
    MAXX (
        FILTER (
            'Table',
            'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] )
                && 'Table'[var _rank] < EARLIER ( 'Table'[var _rank] )
        ),
        'Table'[FECHA ENTREGADO]
    )
VAR _DATE2 = 'Table'[FECHA ENTREGADO]
RETURN
    IF (
        'Table'[var _rank] = 1,
        1,
        IF ( 'Table'[ESTADO] - _Lastestado <> 0, DATEDIFF ( _DATE1, _DATE2, DAY ), 1 )
    )

Resultado:

2.png

Puede descargar el archivo pbix desde este enlace: Calcular la fecha entre los cambios de estado

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

6 REPLIES 6
v-rzhou-msft
Community Support
Community Support

Hola @sergiogonzalez

¿Podría decirme si su problema ha sido resuelto? Si es así, acédi es la solución. Más gente se beneficiará de ello. O todavía está confundido al respecto, por favor proporcione más detalles sobre su problema o compártame con su archivo pbix de su Onedrive for Business.

Saludos

Rico Zhou

v-rzhou-msft
Community Support
Community Support

Hola @sergiogonzalez

Construyo una mesa como la tuya para hacerme una prueba.

Mesa:

1.png

Cree un rango para cada ID TARER por columna calculada.

var _rank =

RANKX (

    FILTER ( 'Table', 'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] ) ),

    'Table'[FECHA ENTREGADO].[Day],

    ,

    ASC,

    DENSE

)

Resultado:

2.png

Entonces construyo una medida para lograr tu objetivo.

ESTADO =

VAR _MIN =

    MINX (

        FILTER (

            ALL ( 'Table' ),

            'Table'[ID TARER] = MAX ( 'Table'[ID TARER] )

                && 'Table'[var _rank] = MAX ( 'Table'[var _rank] )

                && CALCULATE (

                    COUNTROWS ( 'Table' ) >= 2,

                    FILTER (

                        ALL ( 'Table' ),

                        'Table'[ID TARER] = MAX ( 'Table'[ID TARER] )

                            && 'Table'[var _rank] = MAX ( 'Table'[var _rank] )

                    )

                )

        ),

        'Table'[FECHA ENTREGADO]

    )

VAR _DATE1 =

    MAXX (

        FILTER (

            ALL ( 'Table' ),

            'Table'[ID TARER] = SUM ( 'Table'[ID TARER] )

                && 'Table'[var _rank] < SUM ( 'Table'[var _rank] )

        ),

        'Table'[FECHA ENTREGADO]

    )

VAR _DATE2 =

    MAX ( 'Table'[FECHA ENTREGADO] )

RETURN

    IF (

        SUM ( 'Table'[var _rank] ) = 1,

        1,

        IF (

            MAX ( 'Table'[FECHA ENTREGADO] ) = _MIN,

            1,

            DATEDIFF ( _DATE1, _DATE2, DAY )

        )

    )

Resultado:

3.png

Puede descargar el archivo pbix desde este enlace:Calcular la fecha entre los cambios de estado

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Gracias, pero no entiendo por qué cambias la columna "estado", necesito una nueva columna con los tiempos entre cada cambio de columna "estado", y en caso de un estado repetido, solo cuenta la primera fecha.

Gracias

Hola @sergiogonzalez

Construyo una nueva mesa para lograr tu objetivo.

1.png

En primer lugar, construyo una columna de índice como antes.

var _rank =

RANKX (

    FILTER ( 'Table', 'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] ) ),

    'Table'[FECHA ENTREGADO].[Day],

    ,

    ASC,

    DENSE

)

Luego construyo una nueva columna calculada para calcularlos días entre cada cambio de columna "estado".

Time = 
VAR _Lastestado =
    CALCULATE (
        SUM ( 'Table'[ESTADO] ),
        FILTER ( 'Table', 'Table'[var _rank] = EARLIER ( 'Table'[var _rank] ) - 1 )
    )
VAR _DATE1 =
    MAXX (
        FILTER (
            'Table',
            'Table'[ID TARER] = EARLIER ( 'Table'[ID TARER] )
                && 'Table'[var _rank] < EARLIER ( 'Table'[var _rank] )
        ),
        'Table'[FECHA ENTREGADO]
    )
VAR _DATE2 = 'Table'[FECHA ENTREGADO]
RETURN
    IF (
        'Table'[var _rank] = 1,
        1,
        IF ( 'Table'[ESTADO] - _Lastestado <> 0, DATEDIFF ( _DATE1, _DATE2, DAY ), 1 )
    )

Resultado:

2.png

Puede descargar el archivo pbix desde este enlace: Calcular la fecha entre los cambios de estado

Saludos

Rico Zhou

Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

amitchandak
Super User
Super User

@sergiogonzalez ,

diff ?
datediff( maxx(table,table[ID_TAREA] á earlier([ID_TAREA]) && [ID_HISTORIAL] <earlier([ID_HISTORIAL])),[Fecha]),[Fecha], Day)

Muéstrame un error, el parámetro no es el tipo correcto

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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