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

valor más reciente de la misma columna calculada fila anterior utilizando Variable

Hola a todos

Por favor, ayuda con una fórmula para obtener el valor más reciente de la misma columna calculada de la fila anterior.

Necesito replicar esto en PowerBI.
La columna E es una columna calculada y necesito capturar de alguna manera el último valor calculado en una variable y luego la variable +1

Fórmula de Excel :

=SI(A2<>A1, 0, SI(C2=0, E1, E1+1))

surajde_0-1684075485487.png

Datos:

IDENTIFICACIÓNDeltaHoraHora actual del grupoContar
1231230.00001/07/22 9:040
1231230.0040.96666701/07/22 9:041
2342430.00001/07/22 9:040
2342430.00001/07/22 9:040
2342430.0038.93333304/07/22 5:46 AM1
23424374.88104/07/22 6:432
2342430.0038.93333304/07/22 6:433
3456750.0038.93333304/07/22 6:430
4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

¡¡Asombroso!! Este funcionó 😀

Syndicate_Admin
Administrator
Administrator

@surajde ,

De acuerdo con su descripción, aquí está mi solución.

1.Agregue una columna de índice en Power Query.

2.Cree dos columnas calculadas.

flag =
IF (
    'Table'[ID]
        <> MAXX (
            FILTER ( 'Table', 'Table'[Index] = EARLIER ( 'Table'[Index] ) - 1 ),
            'Table'[ID]
        ),
    "yes",
    "no"
)
Column =
VAR _c = 'Table'[Index]
RETURN
    IF (
        [ID]
            <> MAXX (
                FILTER ( 'Table', 'Table'[Index] = EARLIER ( 'Table'[Index] ) - 1 ),
                'Table'[ID]
            ),
        0,
        IF (
            MAXX (
                FILTER ( 'Table', 'Table'[Index] = EARLIER ( 'Table'[Index] ) - 1 ),
                'Table'[flag]
            ) = "no",
            IF (
                'Table'[Time] = 0,
                COUNTROWS (
                    FILTER (
                        'Table',
                        'Table'[Index] < EARLIER ( 'Table'[Index] )
                            && 'Table'[Index]
                                > MAXX (
                                    FILTER ( 'Table', 'Table'[flag] = "yes" && 'Table'[Index] < _c ),
                                    'Table'[Index]
                                )
                            && 'Table'[Time] <> 0
                    )
                ) + 0,
                COUNTROWS (
                    FILTER (
                        'Table',
                        'Table'[Index] < EARLIER ( 'Table'[Index] )
                            && 'Table'[Index]
                                > MAXX (
                                    FILTER ( 'Table', 'Table'[flag] = "yes" && 'Table'[Index] < _c ),
                                    'Table'[Index]
                                )
                            && 'Table'[Time] <> 0
                    )
                ) + 1
            ),
            IF ( 'Table'[Time] = 0, 0, 1 )
        )
    )

Obtenga el resultado correcto.

vyanjiangmsft_0-1684315410846.png

También cambio la fuente de datos con diferentes ID, aún así obtengo el resultado correcto.

vyanjiangmsft_1-1684315452596.png

Adjunto mi archivo a continuación para su referencia.

Si este post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Saludos

Apoyo a la comunidad Team_yanjiang

Syndicate_Admin
Administrator
Administrator

@amitchandak , gracias por la rápida respuesta.

Por favor, compruebe que cuando agrego su fórmula a BI, obtengo los resultados a continuación. La mayoría de los valores son 0.

Además, no estamos completando el tiempo aquí. Su fórmula está comparando el tiempo anterior y el actual.

surajde_0-1684141837334.png

Por favor, pruebe con los siguientes datos: en esta última columna de datos está tomando su propio último valor calculado.

surajde_1-1684142141789.png

IDENTIFICACIÓNCREATE_DATEMODIFY_DATEDeltaAlcanceHoraHora actual del grupoContar
422175701/07/22 9:0401/07/22 9:040001/07/22 9:040
422175701/07/22 9:0401/07/22 9:080001/07/22 9:040
422175701/07/22 9:0401/07/22 9:45040.9666666701/07/22 9:041
422175701/07/22 9:0401/07/22 14:010NO001/07/22 14:011
422175701/07/22 9:0401/07/22 14:076.46666667NO001/07/22 14:011
422175701/07/22 9:0404/07/22 5:450NO001/07/22 14:011
422175701/07/22 9:0404/07/22 5:46 AM0004/07/22 5:46 AM1
422175701/07/22 9:0404/07/22 6:25038.9333333304/07/22 5:46 AM2
422175701/07/22 9:0404/07/22 6:270004/07/22 5:46 AM2
422175701/07/22 9:0404/07/22 6:310004/07/22 5:46 AM2
422175701/07/22 9:0404/07/22 6:430NO004/07/22 6:432
422175701/07/22 9:0404/07/22 7:5874.883333331004/07/22 6:432
422175701/07/22 9:0406/07/22 2:500NO004/07/22 6:432
422175701/07/22 9:0406/07/22 3:020006/07/22 3:022
422175701/07/22 9:0406/07/22 3:0704.7666666706/07/22 3:023
422175701/07/22 9:0406/07/22 3:260NO006/07/22 3:263
Syndicate_Admin
Administrator
Administrator

@surajde , Crear una nueva columna como

if([Time] =0, 0, countx(filter(Table, [ID] = before([ID]) && [Time] >0 && [Current Group Time] <= before([Current Group Time])), [ID]) )

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.