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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Syndicate_Admin
Administrator
Administrator

Diferencia de fecha entre dos valores de la misma columna con el mismo id

Estoy tratando de calcular la diferencia en días entre dos valores en la misma columna que tienen el mismo id.

Tenga en cuenta los siguientes datos:

-EventId--Fecha de inicio--Resultado deseado-
Evento11/15/2021
Evento13/15/202159
Evento13/17/20212
Evento23/1/2021
Evento22/1/2021-28

Siento que tengo la fórmula correcta en esta columna calculada, pero por alguna razón todos los resultados están en blanco.

c_DateDiff = 
VAR temp =
    TOPN (
        1,
        FILTER (
            datasource,
            datasource[EventId] = EARLIER ( datasource[EventId] )
                && datasource[Start Date] < EARLIER ( datasource[Start Date] )
        ),
        [End Date], DESC
    )
RETURN
    DATEDIFF ( MINX ( temp, [Start Date] ), datasource[Start Date], DAY )

Editar: ¿Qué sucede si quiero calcular la fecha de inicio en relación con la fecha de instantánea anterior/anterior?

-EventId--StartDate--Fecha de instantánea--Resultado deseado-
Evento11/15/20211/1/2021
Evento13/15/20213/1/2021-2
Evento13/17/20212/1/202161
Evento23/1/20211/1/2021
Evento22/1/20213/1/2021-28
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Hola, @WorkHard

Puede crear una columna para calcular el resultado dasired.

Así:

column = 
VAR a =
    MAXX (
        FILTER (
            ALL ( 'Table' ),
            [-Snapshot Date-] < EARLIER(  'Table'[-Snapshot Date-] )
                && [-EventId-] = EARLIER(  'Table'[-EventId-] )
        ),
        [-Snapshot Date-]
    )
VAR b =
    MAXX (
        FILTER (
            ALL ( 'Table' ),
            [-Snapshot Date-] = a
                && [-EventId-] = EARLIER(  'Table'[-EventId-] )
        ),
        [-StartDate-]
    )
RETURN
    DATEDIFF ( b, 'Table'[-StartDate-] , DAY )

7.png

Si no resuelve su problema, no dude en preguntarme.

Saludos

Janey Guo

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

7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Hola, @WorkHard

Puede crear una columna para calcular el resultado dasired.

Así:

column = 
VAR a =
    MAXX (
        FILTER (
            ALL ( 'Table' ),
            [-Snapshot Date-] < EARLIER(  'Table'[-Snapshot Date-] )
                && [-EventId-] = EARLIER(  'Table'[-EventId-] )
        ),
        [-Snapshot Date-]
    )
VAR b =
    MAXX (
        FILTER (
            ALL ( 'Table' ),
            [-Snapshot Date-] = a
                && [-EventId-] = EARLIER(  'Table'[-EventId-] )
        ),
        [-StartDate-]
    )
RETURN
    DATEDIFF ( b, 'Table'[-StartDate-] , DAY )

7.png

Si no resuelve su problema, no dude en preguntarme.

Saludos

Janey Guo

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

Syndicate_Admin
Administrator
Administrator

Hola, @WorkHard

¿Se ha resuelto su problema? Puedo ver en tu código dax que tienes dos tablas, pero no aparecen en tu descripción, como "fecha de finalización" y "fecha de instantánea", Necesitas proporcionar más información detallada y el resultado final que quieras, entonces podemos ayudarte pronto.

Saludos

Janey Guo

Syndicate_Admin
Administrator
Administrator

Hola

Puede descargar mi archivo PBI desde aquí.

Espero que esto ayude.

Untitled.png

Gracias. Esperaba una fórmula DAX pero intentaré hacer esto en Power Query, como tú.


¿Qué sucede si quiero calcular la fecha de inicio en relación con la fecha de instantánea anterior?
Marque OP para un ejemplo.

De nada. ¿Cómo llegó a los números de la columna Resultado deseado de la segunda tabla de su publicación original? No estoy claro.

No @Ashish_Mathur,


Las 3 filas de Event1 provienen de diferentes puntos en el tiempo. Tomo una "instantánea" de los datos una vez al mes y luego cada mes agrego otra fila para el mismo evento. Así que con el tiempo, la fecha de inicio del evento puede cambiar. Esto me da la capacidad de ver cómo cambia la fecha de inicio del mismo evento cada mes.

La fecha de inicio del evento1 en la instantánea de enero de 2021 fue el 15 de enero.

La fecha de inicio del evento 1 en la instantánea de febrero de 2021 fue el 17 de marzo (61 días).

La fecha de inicio del evento 1 en la instantánea de marzo de 2021 fue el 15 de marzo (-2 días)

La fecha de inicio del evento 2 en la instantánea de enero de 2021 fue el 1 de marzo.

La fecha de inicio del evento 2 en la instantánea de marzo de 2021 fue el 1 de febrero. (+28 días)

Hola

Esta fórmula de columna calculada funciona

if(ISBLANK(LOOKUPVALUE(Data[StartDate],Data[EventId],Data[EventId],Data[Snapshot Date],CALCULATE(MAX(Data[Snapshot Date]),FILTER(Data,Data[EventId]=EARLIER(Data[EventId])&&Data[Snapshot Date]<EARLIER(Data[Snapshot Date]))))),BLANK(),1*(Data[StartDate]-LOOKUPVALUE(Data[StartDate],Data[EventId],Data[EventId],Data[Snapshot Date],CALCULATE(MAX(Data[Snapshot Date]),FILTER(Data,Data[EventId]=EARLIER(Data[EventId])&&Data[Snapshot Date]<EARLIER(Data[Snapshot Date]))))))

Espero que esto ayude.

Untitled.png

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

MayPowerBICarousel

Power BI Monthly Update - May 2024

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.