Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Manual sort

Hi,

 

Request your guidance for solving my issue related to manual sort

 

I have a visual ( stacked column chart ) in which i want to sort the data manually, say for eg: i have a time bin and starting time bin is 00:00 to 03:00 am , then 03:00 am to 06:00 am etc.  In the visual I would like to have 06:00 am to 09:00 am as the starting one. how can i do the sort manually 

 

please help 

 

regards,

dsmitha

 

  • Hello Anonymous ,

    Please try the following steps :

    1) On your table, create a calculated column in which you will assign your intended sort order, for instance you want 6 am to 9 am as the 1st bin, so assign it a value of 1 and so on. I call this column "Sort Index"

    Sort Index =

    if (GroupSort[Group] = "06:00 am to 09:00 am", 1,
    if (GroupSort[Group] = "00:00 to 03:00 am", 2,
    if (GroupSort[Group] = "03:00 am to 06:00 am", 3,
    0)))


    2) Next, click on the bin column, then click on option "Sort by column" under the "Column tools" ribbon. Select "Sort index" as the column to sort by.

    3) On your visual, click on the 3 dots on the top right, and select "Sort axis". Select axis as the bin column, and order as descending. You will notice that 06:00 am to 09:00 am is now the first bin as required.

    Kind regards,

    Rohit


    Please mark this answer as the solution if it resolves your issue.
    Appreciate your kudos! ğŸ˜Š

  • You create a new number column (either manually or use an index after sorting the data in power query)  and use the 'sort by column' feature.

7 Replies

  • Hello Anonymous ,

    Please try the following steps :

    1) On your table, create a calculated column in which you will assign your intended sort order, for instance you want 6 am to 9 am as the 1st bin, so assign it a value of 1 and so on. I call this column "Sort Index"

    Sort Index =

    if (GroupSort[Group] = "06:00 am to 09:00 am", 1,
    if (GroupSort[Group] = "00:00 to 03:00 am", 2,
    if (GroupSort[Group] = "03:00 am to 06:00 am", 3,
    0)))


    2) Next, click on the bin column, then click on option "Sort by column" under the "Column tools" ribbon. Select "Sort index" as the column to sort by.

    3) On your visual, click on the 3 dots on the top right, and select "Sort axis". Select axis as the bin column, and order as descending. You will notice that 06:00 am to 09:00 am is now the first bin as required.

    Kind regards,

    Rohit


    Please mark this answer as the solution if it resolves your issue.
    Appreciate your kudos! ğŸ˜Š

    • Anonymous's avatar
      Anonymous
      Not applicable

      hi rohit_singh,

       

      thank you very much, it solved my issue

       

      regards,

      dsmitha

  • HotChilli's avatar
    HotChilli
    Community Champion

    You create a new number column (either manually or use an index after sorting the data in power query)  and use the 'sort by column' feature.

    • Anonymous's avatar
      Anonymous
      Not applicable

      hi hotchilli,

      that was a quick one, thanks a lot

      regards,

      dsmitha

       

  • I tried the solution proposed adapted towards my own situation:


    I want to rank the colum headers from 0-50 to 140 - 180

    Instead of my current situation: 0-50, 100-140, 140-180, 50-70, 70-100


    I created an indexcolumn with the formula which is working correctly.


    When I want to sort by the indexcolum I get an error stating that I created a circular dependency.
    Could someone help me out?

    • rohit10191's avatar
      rohit10191
      Frequent Visitor

      Ha_Ver In case of circular dependency error, try creating the index column in Power Query and then use this column to sort the desired column.

    • rohit10191's avatar
      rohit10191
      Frequent Visitor

      Ha_Ver In case of cirulcar dependency error, create the index column in Power Query, and then use this column to sort the desired column.