Forum Discussion
Custom Sorting in PowerBI?
Hello all,
Seeing as how helpful people were with my last two questions, I thought I'd ask another, which has been nagging me.
I'm aware of the sorting function in graphs, but that seems to sort the items alphabetically.
What I'm hoping to do is sort non-alphabetically, in an order that makes sense otherwise - highest to lowest, or whatever the case.
See here:
I'd like it to read Critical, High, Medium, Low. Is there anything I can do here?
Thank you!
You can create a table like following one and create relationship with the original table.
Then create a calculated column in original table with following formula.
Column = RELATED( Table2[ID] )
At last, select the Type column and make it sorted by above created column.
Best Regards,
Herbert
27 Replies
- v-haibl-msftMicrosoft Employee
You can create a table like following one and create relationship with the original table.
Then create a calculated column in original table with following formula.
Column = RELATED( Table2[ID] )
At last, select the Type column and make it sorted by above created column.
Best Regards,
Herbert
- forzajoensyFrequent Visitor
Great tips! Thanks! Its a long way around from what should be a custom sort or drag feature link in a pivot table. Will be available some time I guess.
- iGiAdvocate I
Since I'm unfamiliar with this, I'm getting stuck at adding a new column and referencing the ID column from the newly created table.
Here is where I am:
1. Added a new table with Risk and ID columns:
2. Created a link between the two tables on Risk Rating and Risk:
3. Clicked on Custom Column and the only columns available to me are those in the original, primary table and I don't know how to reference the new "Risk Order" table in the formula:
Any advice?
- iGiAdvocate I
v-haibl-msft Wow! Didn't even think of doing that. Thank you! I'll give this a try to see if it will work with the larger table that I'm using here.
On a separate note, how did you learn this? It resembles SQL to me.
- brjonesAdvocate I
Thanks so much for this!
I had to delete some visualizations and re-create them in order for it to work correctly, but it's working beautifully now :)
GREAT TIP!
- lizaramleeFrequent Visitor
im having same problem, its not sorted out.. do i need to redo the visualisation?
- ahxlRegular Visitor
Hi guys
This solution worked great for a situation where I had months - August, September and October not displaying in the correct order in my visual.
However, I was wondering, why did my creating of a calculated column in the SAME table using the following formula not work? So within the same table, I created a calculated column:
COLUMNSORT = IF('Table1'[MONTH] = "August", 1, IF('Table1'[MONTH] = "September", 2, IF('Table'[MONTH] = "October", 3)))
And then I tried to sort MONTH using this new calculated column 'COLUMNSORT', but it displays a message 'This column cannot be sorted by a column that is directly or indirectly sorted by this column'.
Why does it display this error message? I understand the logic that it cant sort the column because this calculated column directly sorts MONTH. So then why can it do a sort off a RELATED function which brings the exact same values into the main table? Isn't it the same thing basically?
Just trying to understand the logic in the two methods.
Thanks all
Regards
Ahxl
- pmuralikrishna1Frequent Visitor
Re-creating visualization worked for me. Thank you
- bassmAdvocate I
Same for me. I had to delete my chart and create again.
Thanks for the tip. A good work around.
- brjonesAdvocate I
I thought this would solve my problem, but for some reason when I do the 'sort by column' step it does not sort by that column. I made sure that no other columns had any kind of sort applied to them.
I created a new table based on an excel file.
Then created a link between the new table and the one I wanted to sort by category.
Then did the sort by column step. The screen flashed like it was doing something, but nothing happened.
The Table1 (T1) in my case is a query built from some other queries.
My Table2 (T2) is an excel file with two columns that I imported.
The linked column is labeled 'Reason Lost', with a 'Many to One' setting from T1 to T2, and cross filter set to 'both'
I would love some help with this, because the only other way I know to sort these correctly is to add an index in front of every item to get it to sort correctly, and that is visually distracting.
- kunalmishra07New Member
Hi All,
Thank you for sharing the solution.
1. By using reference table
2. Conditional Column
I was wondering what is the difference between doing it by using Conditional column and doing the same with calculated column.
Steps Followed :-
1. Go to Data Tab
2. Go to Modelling ribon and select New column
3. Create column using reference column according to what we need to sort.
But sorting is not happening and i am getting error that Reference column could not be sort by Calculated column.
Request you to throw light on the same.
- AnonymousNot applicable
Hi Everyone,
This option seems to be completely not working when i tried the same procedure and sorted the stacked column chart my chart started showing all as 100% for all items.
Suggest .
Thanks,
Abhilash
- AnonymousNot applicable
For clear view please refer to the below images Before Sorting and After Sorting why the values are changing to 100% for each category.
Please note i have exactly followed the same procedure as mentioned in the solution.
Before Sorting
After Sorting
- theblackknightNew Member
Hi there,
It seems like when calculating percentage for each category after sorting, you will have to make a slight change to your formula to also aggregate based on the new column created in original table.
for example:Here earlier I was only aggregating on
'AggregateGradingData'[vw_REPGradingApprenticeFinalGrade.AM_Grade] in all because of which all of the grades were showing 100%, after I made change to include thew new calculated column as well, it started working like magic.
I hope that helps.
here are screenshots of changes before and after: mark that am grade pos is calulated column using related:resultant visual:
after change in formula:
resultant visual: