Forum Discussion

naga449's avatar
naga449
Frequent Visitor
5 years ago

Adding Serial Number using DAX(Not in Transform data)

Hi Community,

 

Could you please help me with this,

 

I have a Dim Table with countries,

Country
India
Australia
South America
North America
Japan
Germany

I want to sort this in the column as it is in a table, so I need to add index or sequence numbers to this table USING DAX Only.

 

Please help with this.

 

Thanks 

Naga Karthik.

4 Replies

  • You can't do this in DAX alone. Sorry, you're out of luck. The only sort that DAX obeys natively is the alphabetical order of strings and the natural order of numbers/date(time)s (date(time)s are numbers in disguise). To have a different sort than the mentioned ones you have to create a column and manually insert the numbers by which you want to sort the column. This is best done either in PQ (using Add Column) or outside the system in some ETL layer or in the source.

  • Stachu's avatar
    Stachu
    Community Champion

    you could use something like this:

    Index = 
    SWITCH('Countries'[Country],
    "India",0,
    "Australia",1,
    "South America",2,
    "North America",3,
    "Japan",4,
    "Germany",5
    )

    but althouth it will work, this is a bad practice. How is this table sourced, and what is the logic of the order? Or is it completely arbitrary?

    • daxer-almighty's avatar
      daxer-almighty
      Solution Sage

      Stachu 

       

      You realize that this is totally unmaintainable unless... he has a list of all countries in the world?

      • Stachu's avatar
        Stachu
        Community Champion

        Definitely, doing this in the Power Query/source should be the way to go, that's why I said it is a bad practice. But considering that some of the items are South America and North America I do not expect the list to be extremely long.