Forum Discussion

Rosario's avatar
Rosario
Icon for Helper I rankHelper I
4 years ago
Solved

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: ID Year Condition Result A 2018 Continue A 201...
  • Syndicate_Admin's avatar
    4 years ago

    @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:

    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.