Forum Discussion

VoltesDev's avatar
VoltesDev
Helper V
4 years ago
Solved

How to make column for sorting ?

Hi,

In my table I have rows values which has no sort in its data source (direct query), as below:

ColumnA
High
Medium
Low

 

So I figured I must create new column and create some sort value like this :

 

Sort = SWITCH(Table [ColumnA],
       "High",1,
       "Medium",2,
       "Low",3)

 

But if I go back to ColumnA and Set Order by this new column, I will get error saying it circular dependant.

 

How actually to create a custom sort ?

 

Thanks in advance

  • I prefer to do my data modelling in Power Query.

    Hope this helps.

     

7 Replies

  • Hi,

    I suggest creating a new table like below, instead of creating one column by one column.

    Once the new table is created by using the below formula, then the ColumnA can be sorted by the Sort column.

     

    New Table =
    DATATABLE (
    "ColumnA", STRING,
    "Sort", INTEGER,
    {
    { "High", 1 },
    { "Medium", 2 },
    { "Low", 3 }
    }
    )
  • KNP's avatar
    KNP
    Super User

    I prefer to do my data modelling in Power Query.

    Hope this helps.

     

    • AlexisOlson's avatar
      AlexisOlson
      Super User

      You could also key in the Sort column by modifying the Source step rather than defining a custom column (assuming the table was created in the query editor to begin with, of course).

      • VoltesDev's avatar
        VoltesDev
        Helper V

        Hi,

         

        Sure, but I'm using Direct Query (which I didn't tell in this thread). So have limitation of modifying source, especially cannot add table.

         

        Thanks

    • 22LACMT's avatar
      22LACMT
      Helper III

      Thank you this helped me. however, the data on my visualization is not showing the results from the new data arrangement.  what am I missing? 

       

      Thank you

      • KNP's avatar
        KNP
        Super User

        Probably best to open a new question.

        You can reference this thread and tag people to get their attention. 

        Replying to solved threads will often not get a response.