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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
Syndicate_Admin
Administrator
Administrator

Calcule la diferencia entre 2 filas en función de varios filtros de columna, PERO maneje los valores duplicados

Tengo la siguiente tabla llamada filtered_POR050:
table.PNG
Aquí está el ejemplo: enlace

Me gustaría encontrar la diferencia entre las horas (HEURE LIV) para cada ID TOURNEE, filtradas por fecha (JOUR LIV) y código postal (GroupeCP). Si el valor anterior está ausente, el resultado debe ser 0.
Actualmente así es como puede verse el resultado final.
rt.PNG

Por favor, ¿alguien puede ayudarme con eso?

La siguiente solución solo funciona parcialmente, ya que da valores de retorno incorrectos cuando se trata de líneas duplicadas. Como se muestra aquí:
wrong.PNG
La diferencia entre estas líneas debe ser 0 en lugar de lo que se ve.

¿Alguna idea?

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

Hola @eyewee ,

He creado una muestra simple, consulte mi archivo pbix para ver si le ayuda.

Measure =
VAR _1 =
    CALCULATE (
        MAX ( Sheet1[Index] ),
        FILTER (
            ALL ( Sheet1 ),
            Sheet1[JOUR LIV] = SELECTEDVALUE ( Sheet1[JOUR LIV] )
                && Sheet1[CP] = SELECTEDVALUE ( Sheet1[CP] )
                && Sheet1[Index] < SELECTEDVALUE ( Sheet1[Index] )
        )
    )
VAR _2 =
    CALCULATE (
        MAX ( Sheet1[HEURE LIV] ),
        FILTER ( ALL ( Sheet1 ), Sheet1[Index] = _1 )
    )
VAR _3 =
    RANKX (
        FILTER (
            ALL ( Sheet1 ),
            Sheet1[JOUR LIV] = SELECTEDVALUE ( Sheet1[JOUR LIV] )
                && Sheet1[CP] = SELECTEDVALUE ( Sheet1[CP] )
        ),
        CALCULATE ( MAX ( Sheet1[Index] ) ),
        ,
        ASC,
        DENSE
    )
VAR _4 =
    MAX ( Sheet1[HEURE LIV] ) - _2
RETURN
    IF ( _3 = 1, TIME ( 0, 0, 0 ), _4 )

vrongtiepmsft_0-1705547726006.png

Cómo obtener respuestas rápidas a tu pregunta

Si no ayuda, proporcione más detalles con la salida deseada y el archivo pbix sin información de privacidad (o algunos datos de muestra).

Saludos
Equipo de apoyo a la comunidad _ Rongtie

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

Syndicate_Admin
Administrator
Administrator

@eyewee

una forma es eliminar duplicados en PQ

11.PNG

La otra forma es crear una columna de índice en PQ

11.PNG

A continuación, modifique la columna

DETLA = 
VAR _earlier = CALCULATE(MAX(Sheet1[Index]), FILTER(Sheet1, Sheet1[ID TOURNEE] = EARLIER(Sheet1[ID TOURNEE]) && Sheet1[JOUR LIV] = EARLIER(Sheet1[JOUR LIV]) && Sheet1[CP] = EARLIER(Sheet1[CP]) && Sheet1[Label_HEURE LIV] <= EARLIER(Sheet1[Label_HEURE LIV])&&'Sheet1'[Index]<EARLIER('Sheet1'[Index])))
VAR _earlier2=maxx(FILTER(Sheet1,'Sheet1'[Index]=_earlier),Sheet1[Label_HEURE LIV])
RETURN
IF(_earlier2 <> BLANK(), Sheet1[Label_HEURE LIV] - _earlier2, 0)

11.PNG

Por favor, vea el archivo adjunto a continuación

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors
Top Kudoed Authors