Forum Discussion
Sorting a matrix second level - sort by column not working
I see what Table3[MonthNo] and Table3[Items] represent but what column does [TotalNumbers] represent? Why isn't Sort By Column working when multiple other posts recommend that as the solution?
Thank you very much for your time.
Hi Captenaj
If you want to sort two columns in matrix.Sort by column cannot work well as it can only be used to sort by one column.
In my example,the first level (Item)-->Sort by total Numbers (DESC):120>60>30
Then the second level (Month)-->Sort by Month (ASC):Jan<Feb<Mar
If you just want to sort the second level.You may create a month table and use 'sort by column' for it.Attached file for your reference.
Regards,
Cherie
- Captenaj7 years agoFrequent Visitor
Thank you for your reply. In the matrix I want to sort the first column by numbers (most common at the top). In your example the order would be B, C, A. The next column I want to sort by month order: Jan, Feb, March. In your data the first column is sorted alphabetically and the second by month. Just as you said "If you just want to sort the second level.You may create a month table and use 'sort by column' for it." That's exactly what I want to do, I just want to sort the second level and I want to leave the top level alone. How can I do this?
Thank you for your help.
- v-cherch-msft7 years agoMicrosoft Employee
Hi Captenaj
Please check the attached file Sorting a matrix second level_2.pbix in above reply.It shows you how to get the sort only for the second level.
Regards,
- Captenaj7 years agoFrequent Visitor
Thank you for the reply. So are you saying there is no way to sort the first column by one parameter and the second column by a different parameter?
- Captenaj7 years agoFrequent Visitor
v-cherch-msft, thank you very much for your time. It may be sinking in finally.
Yes, I want to sort as you specify here: first by one parameter descending, then sort each of those groupings by a second parameter (which is a custom order) ascending. The questions/problems I am having are:
- Am I correct that if this is what I want to do, your Table3 isn't needed here?
- In the table that contains the data, I do not have a "MonthNo" column so I created it with an IF/THEN statement.
- The measure "Total Numbers" appears to add all the values in the Numbers column. What I want to do is sort the first column by number of rows, not by the value. How could I do that?
Thank you to all who have responed.
- v-cherch-msft7 years agoMicrosoft Employee
Hi Captenaj
- Am I correct that if this is what I want to do, your Table3 isn't needed here?
- In the table that contains the data, I do not have a "MonthNo" column so I created it with an IF/THEN statement.
Yes,correct.
There is no way to sort the first column by one parameter and the second column by a different parameter.To achieve your requirement,you may create a measure to get the sort and then sort by measure.
- The measure "Total Numbers" appears to add all the values in the Numbers column. What I want to do is sort the first column by number of rows, not by the value. How could I do that?
Change the total measure like below.Then you may get the sort.Please refer to attached file.
TotalRows = CALCULATE(COUNT(Table3[Items]),ALLEXCEPT(Table3,Table3[Items]))
Regards,
Cherie
- Captenaj7 years agoFrequent Visitor
Thank you. I am seeing the matrix sorted by Measure only. The first column is also sorted by measure so the order is B, A, C, not B, C, A as required. I think what your measure is doing is trying to calculate a value based on the Number and the MonthNo so we can sort only by that one value. Is there no way to sort subcategories? I have at least a thousand categories that I am going to be filtering but the "months" remains consistent. Can't I just somehow sort by MonthNo? Is there a better way to present the data than a matrix? Thank you again.