Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
3 years ago
Solved

Custom Sorting

Hi Thank in advance to solve this issue. this is the scenario I have table having values like customer and respective values here I need custom sort function. below is the table for reference.

 

Here I need Samsung is the bottom of the stacked bar ireespective of any value remaining customers arrange their based on the value sort by higher to lower. is there any way to get through DAX, I tried multliple ways here but not getting the expected results. Can some one please help here That really appreciated.

 

Thank you so much in advance.

 

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi  Anonymous ,

    I created some data:

    Here are the steps you can follow:

    1. Create calculated table.

    Table 2 =
    var _table=
    SUMMARIZE('Table','Table'[Customer],"Sum",SUMX(FILTER(ALL('Table'),'Table'[Customer]=EARLIER('Table'[Customer])),[Value]))
    return
    ADDCOLUMNS(
        _table,"rank",RANKX(ALL('Table'),[Sum_Measure],,ASC,Dense))

    2. Relationship to join two tables.

    3. Select [Customer] – Column tools – Sort by column – [rank] for the new table.

    4. Result:

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

4 Replies

  • Anonymous , You need to create sort column

     

    Example

    customer1 =[customer]

     

     

    customer Sort = Switch( [customer],

    "Samsung",1,

    "Hp",2,

    //Add other

     

    10)

     

    Mark customer sort as sort column of customer1 and use customer1 in visual

     

    PowerBI Abstract Thesis Episode 6: How to Create Sort Column and Solve Related Errors:
    https://www.youtube.com/watch?v=KK1zu4MBb-c

    • Anonymous's avatar
      Anonymous
      Not applicable

      Thanks for your response limited customers then it will lwork but I have N number of customers thats why I am requesting is there any option to change dynamically.

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  Anonymous ,

    I created some data:

    Here are the steps you can follow:

    1. Create calculated table.

    Table 2 =
    var _table=
    SUMMARIZE('Table','Table'[Customer],"Sum",SUMX(FILTER(ALL('Table'),'Table'[Customer]=EARLIER('Table'[Customer])),[Value]))
    return
    ADDCOLUMNS(
        _table,"rank",RANKX(ALL('Table'),[Sum_Measure],,ASC,Dense))

    2. Relationship to join two tables.

    3. Select [Customer] – Column tools – Sort by column – [rank] for the new table.

    4. Result:

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

  • atuljha07's avatar
    atuljha07
    Regular Visitor

    Hi Peps,

     

    I'm trying to create a customer sort with the help of dimension table, it worked for number and text perfectly. What turns it down is when using a special charter as a parameter to sort, for instance when I'm trying to create a column "Day" which ranges from the -12 and +12 days from Presales (Day) it's not sorting as I expect it to be, though I've defined relationship with the base table and sort this table with "Sort Order"

     

     

    I'm getting something like below: 

     

     

    The outcome should be something like:

     

     

    Any help in this regards will be much appreciated!

     

    Thanks,

    Atul