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

The Power BI DataViz World Championships are on! With four chances to enter, you could win a spot in the LIVE Grand Finale in Las Vegas. Show off your skills.

Reply
Syndicate_Admin
Administrator
Administrator

Diferencia entre la marca de tiempo actual de una columna y la marca de tiempo anterior de otra columna

Hola comunidad,

Quiero generar una columna que básicamente me dé la diferencia entre el valor de marca de tiempo actual de una columna y el valor de marca de tiempo anterior de otra columna.

para el mismo ID A, ID B e ID C, genere la diferencia en la columna succ diff:

MonaliC_0-1736865065732.png
Probé esta lógica pero no da ninguna salida:
Primera columna creada para la marca de tiempo anterior
TS anterior=

CALCULAR(
MÁXIMO('Mesa'[Fecha 2]),
'Mesa',
'Mesa'[fecha 2] < ANTERIOR('Tabla'[fecha2]) ,
'Tabla'[A ID]=ANTERIOR(Tabla'[A ID]),
'Tabla'[B ID]=ANTES(Tabla'[B ID]),
'Tabla'[C ID]=ANTES(Tabla'[C ID])
)

Cualquier ayuda será apreciada. Esperamos sus respuestas.
5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

Hola @MonaliC ,

Gracias ryan_mayu por la rápida respuesta y la solución. Tengo algunos otros métodos para agregar:
(1) Agregue una columna de índice a la Power Query.

vtangjiemsft_0-1736907311099.png

(2) Cree una columna calculada en Desktop.

Succ diff =
VAR _Previous =
    CALCULATE (
        MAX ( 'Table'[Date 2] ),
        FILTER (
            'Table',
            'Table'[Date 2] < EARLIER ( 'Table'[Date 2] )
                && 'Table'[A ID] = EARLIER ( 'Table'[A ID] )
                && 'Table'[B ID] = EARLIER ( 'Table'[B ID] )
                && 'Table'[C ID] = EARLIER ( 'Table'[C ID] )
        )
    )
VAR _diff =
    IF (
        ISBLANK ( _Previous ),
        DATEDIFF ( 'Table'[Date 1], 'Table'[Date 2], SECOND ),
        DATEDIFF ( _Previous, 'Table'[Date 1], SECOND )
    )
VAR _minindex =
    CALCULATE (
        MIN ( 'Table'[Index] ),
        FILTER (
            'Table',
            'Table'[A ID] = EARLIER ( 'Table'[A ID] )
                && 'Table'[B ID] = EARLIER ( 'Table'[B ID] )
                && 'Table'[C ID] = EARLIER ( 'Table'[C ID] )
        )
    )
RETURN
    IF ( [Index] = _minindex, BLANK (), _diff )

(3) Entonces el resultado es el siguiente.

vtangjiemsft_1-1736907407477.png

Saludos

Neeko Tang

Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

@v-tangjie-msft Hola, ¿qué pasa si mi tabla es una tabla resumida creada a partir de la tabla original, cómo agrego el índice aquí ya que no puedo agregarlo en PQ porque es una tabla resumida? ¿Cómo creo un índice en PBI Desktop?

@v-tangjie-msft Gracias sm por responder, esto está funcionando. Mis datos son un poco complicados, ambas columnas de fecha son columnas calculadas. Además, ya tenía una columna de índice en mi PQ para uno de los otros cálculos complejos, por lo que usé la misma referencia de índice para esta columna. El cálculo está funcionando por ahora. Responderé si algo cambia. Aceptaré esto como una solución por ahora. Gracias sm por responder.

Syndicate_Admin
Administrator
Administrator

puede crear una columna de índice en PQ

y use DAX para crear una columna

Columna =
VAR _último=MAXX(FILTRO('Mesa','Mesa'[Identificación B]=ANTERIOR('Mesa'[Identificación B])&&'Mesa'[Índice]=ANTERIOR('Mesa'[Índice])-1),'Mesa'[Fecha 2])
devolución si(ISBLANK(_último),espacio en blanco(),Abs(Int(redondo((_último-'Mesa'[Fecha 1])*24*3600,0))))
11.PNG
Por favor, vea el archivo adjunto a continuación

Gracias sm @ryan_mayu por responder.

Helpful resources

Announcements
Feb2025 Sticker Challenge

Join our Community Sticker Challenge 2025

If you love stickers, then you will definitely want to check out our Community Sticker Challenge!

Jan NL Carousel

Fabric Community Update - January 2025

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

Top Solution Authors