Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Administrator
3 years ago
Solved

Create new conditional column

Hello, can someone please help me with DAX?

I want to create a fourth column called "Satatus" where I indicate if the "ID", "Year", "activity" had the same activity. Then the result in the new column "Status" would say: Same, Changed, None

Thanks a lot!! Rosario Pineda.

IDYearActivity
12019Yoga
12019Dance
12019Pilates
12019Swimming
12020Dance
12020Pilates
12020Swimming
12020Meditation
22019Yoga
22019Dance
22019Pilates
22019Swimming
22020Yoga
22020Dance
22020Pilates
22020Swimming
32019Yoga
32019Dance
32019Pilates
32019Swimming
32020Yoga
32020Dance
32020
32020Swimming
  • ryan_mayu's avatar
    ryan_mayu
    3 years ago

    you can try this

    Column = 
    VAR _a=maxx(FILTER('Table','Table'[ID]=EARLIER('Table'[ID])&&'Table'[Year]<>EARLIER('Table'[Year])&&'Table'[Activity]=EARLIER('Table'[Activity])),'Table'[Activity])
    return if('Table'[Activity]="","Ninguna",if(_a="","Cambiaron","Misma"))

    pls see the attachment below

6 Replies

  • Syndicate_Admin 

    i can't find id year and activity has the same value. 

    could you pls add the expected output in the sample data you provided?

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Administrator

      Sorry I didn't understand your question, I rewuiero new column as the example below:

      • ryan_mayu's avatar
        ryan_mayu
        Super User

        you can try this

        Column = 
        VAR _a=maxx(FILTER('Table','Table'[ID]=EARLIER('Table'[ID])&&'Table'[Year]<>EARLIER('Table'[Year])&&'Table'[Activity]=EARLIER('Table'[Activity])),'Table'[Activity])
        return if('Table'[Activity]="","Ninguna",if(_a="","Cambiaron","Misma"))

        pls see the attachment below

  • mahoneypat's avatar
    mahoneypat
    Microsoft Employee

    Not sure this is what you mean, but please try this column expression. Replace Activities with your actual table name.

     

    NewColumn =
    VAR thisactivity = Activities[Activity]
    VAR thisyear = Activities[Year]
    VAR PYactivities =
    CALCULATETABLE (
    DISTINCT ( Activities[Activity] ),
    ALLEXCEPT ( Activities, Activities[ID] ),
    Activities[Year] = thisyear - 1
    )
    RETURN
    SWITCH (
    TRUE (),
    ISEMPTY ( PYactivities ), "None",
    thisactivity IN PYactivities, "Same",
    "Change"
    )
     
    Pat