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

Don't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.

Reply
Rosario
Helper I
Helper I

Agregar colunma IF Conditional con DAX

Hola, agradecere me expliquen coo agregar una columna condicionada usando DAX.

Este es el ejemplo y la coumna C seria respuesta del DAX:

IDYearCondition Result
A2018Continue
A2019Continue
A2020Continue
A2021Continue
B2018Left
C2018Continue
C2019Continue
C2020Continue
C2021Continue
D2019new
D2020left

 

Muchas gracias y saludos desde Brisbane Australia.

Rosario.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin ,

En primer lugar, cree una nueva tabla:

New Table =
VAR _all =
    CROSSJOIN ( VALUES ( 'Table'[ID] ), VALUES ( 'Table'[Year] ) )
VAR _t =
    ADDCOLUMNS (
        _all,
        "min",
            CALCULATE (
                MIN ( 'Table'[Year] ),
                FILTER ( _all, [ID] = EARLIER ( 'Table'[ID] ) )
            )
    )
VAR _maxYear =
    MAXX ( ALL ( 'Table' ), [Year] )
RETURN
    SELECTCOLUMNS (
        FILTER ( _t, [Year] >= [min] && [Year] <= _maxYear ),
        "ID", [ID],
        "Year", [Year],
        "Status", LOOKUPVALUE ( 'Table'[Condition Result], [ID], [ID], [Year], [Year] )
    )

A continuación, agregue una nueva columna:

Final =
VAR _t =
    SUMMARIZE (
        FILTER ( 'New Table', [ID] = EARLIER ( 'New Table'[ID] ) ),
        [Status]
    )
VAR _lastYear =
    MAXX (
        FILTER (
            'New Table',
            [ID] = EARLIER ( 'New Table'[ID] )
                && [Status] <> BLANK ()
        ),
        [Year]
    )
VAR _lastStatus =
    LOOKUPVALUE ( 'New Table'[Status], [ID], [ID], [Year], _lastYear )
RETURN
    IF (
        [Status] = BLANK (),
        IF ( ( "Continue" IN _t ) = FALSE, _lastStatus ),
        [Status]
    )

Resultado final:

Eyelyn9_0-1651037258685.png

Saludos
Eyelyn Qin
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin ,

En primer lugar, cree una nueva tabla:

New Table =
VAR _all =
    CROSSJOIN ( VALUES ( 'Table'[ID] ), VALUES ( 'Table'[Year] ) )
VAR _t =
    ADDCOLUMNS (
        _all,
        "min",
            CALCULATE (
                MIN ( 'Table'[Year] ),
                FILTER ( _all, [ID] = EARLIER ( 'Table'[ID] ) )
            )
    )
VAR _maxYear =
    MAXX ( ALL ( 'Table' ), [Year] )
RETURN
    SELECTCOLUMNS (
        FILTER ( _t, [Year] >= [min] && [Year] <= _maxYear ),
        "ID", [ID],
        "Year", [Year],
        "Status", LOOKUPVALUE ( 'Table'[Condition Result], [ID], [ID], [Year], [Year] )
    )

A continuación, agregue una nueva columna:

Final =
VAR _t =
    SUMMARIZE (
        FILTER ( 'New Table', [ID] = EARLIER ( 'New Table'[ID] ) ),
        [Status]
    )
VAR _lastYear =
    MAXX (
        FILTER (
            'New Table',
            [ID] = EARLIER ( 'New Table'[ID] )
                && [Status] <> BLANK ()
        ),
        [Year]
    )
VAR _lastStatus =
    LOOKUPVALUE ( 'New Table'[Status], [ID], [ID], [Year], _lastYear )
RETURN
    IF (
        [Status] = BLANK (),
        IF ( ( "Continue" IN _t ) = FALSE, _lastStatus ),
        [Status]
    )

Resultado final:

Eyelyn9_0-1651037258685.png

Saludos
Eyelyn Qin
Si esta publicación ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.

Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin ,

¿Podría compartir las condiciones que debe calcular esa columna?

Gracias

Samarth

Gracias Samarth por tu apoyo, de mi tabla de ejemplo deseo obtener la columna C, Condition Result

Rosario_1-1650839812667.png

 

Saludos,

Rosario

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!

Jan25PBI_Carousel

Power BI Monthly Update - January 2025

Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.

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