Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
anandav
Skilled Sharer
Skilled Sharer

Sorting by multiple columns

Hi Experts,

 

I have the following data.

 

Employee Training Date

GregTraining 119/09/2017
BillTraining 119/09/2017
JoeTraining 119/09/2017
DavidTraining 119/09/2017
JimboTraining 119/09/2017
GregTraining 219/08/2017
BillTraining 219/08/2017
DavidTraining 219/08/2017
GregTraining 319/07/2017
BillTraining 319/07/2017
JoeTraining 319/07/2017
DavidTraining 319/07/2017

 

When I use a Table visual the data is displayed sorted by Name.

Capture.JPG

 

I can sort the data in PowerQuery using multiple columns:

= Table.Sort(#"Changed Type",{{"Employee", Order.Ascending}, {"Training", Order.Descending}, {"Date", Order.Ascending}})

 

In Data view it is displayed correctly as per PowerQuery sort.

Capture.JPG

 

But when I display the data in Table or Matrix visual it is only sorted by Name.

Capture.JPG

 

How can I enable Table visual to follow the PowerQuery sort order?

 

Thanks for any advise in advance.

 

1 ACCEPTED SOLUTION
v-chuncz-msft
Community Support
Community Support

@anandav,

 

You may try using ISONORAFTER Function to add a measure.

Measure =
VAR t =
    SUMMARIZE (
        ALLSELECTED ( Table1 ),
        Table1[Employee],
        Table1[Training],
        Table1[Date]
    )
RETURN
    COUNTROWS (
        FILTER (
            t,
            ISONORAFTER (
                    Table1[Employee], SELECTEDVALUE ( Table1[Employee] ), DESC,
                    Table1[Training], SELECTEDVALUE ( Table1[Training] ), ASC,
                    Table1[Date], SELECTEDVALUE ( Table1[Date] ), DESC
            )
        )
    )
Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

10 REPLIES 10
ClaireJenkins
Frequent Visitor

Hi All,

 

Wonder if you can help?

 

I have data that I want to sort specifically, I was told there was a measure for it.

 

Basically on excel you can move the columns on the pivot table. So i can have 0-7,8-13,14-20 in order ( 8-13 always defaulting a date) so when i create a pivot, the order is 8-13, 0-7, 14-20.

 

How am I am to change the order in Power BI?

 

Anonymous
Not applicable

@v-chuncz-msft I created the measure you created previously in the thread and when I tried to place it as a value in the table field, it created a single count. Is there somewhere else I should be placing this measure? Thanks so much!

The Matrix visual lacks custom sorting functionality and more.  There are lots of ideas on the community site.  Below are the front runners.  Please vote these up!

https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/11185431-add-a-multiple-columns-s...

https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/17401381-conditional-formatting-f...

v-chuncz-msft
Community Support
Community Support

@anandav,

 

You may try using ISONORAFTER Function to add a measure.

Measure =
VAR t =
    SUMMARIZE (
        ALLSELECTED ( Table1 ),
        Table1[Employee],
        Table1[Training],
        Table1[Date]
    )
RETURN
    COUNTROWS (
        FILTER (
            t,
            ISONORAFTER (
                    Table1[Employee], SELECTEDVALUE ( Table1[Employee] ), DESC,
                    Table1[Training], SELECTEDVALUE ( Table1[Training] ), ASC,
                    Table1[Date], SELECTEDVALUE ( Table1[Date] ), DESC
            )
        )
    )
Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Would appreciate if you could explain what is going on in the code. I've used this and it gives me the correct sorting behaviour but i don't understand the workings of the code. Thanks

Hi @v-chuncz-msft,

Thank you for the prompt reply. That works perfectly! Man Happy

I was also able to achieve this by adding an Index column in the Power Query as well. But good to learn how to do it in DAX.

 

Just wondering:

So any data re-ordering / sorting done in PowerQuery is really of no use in any of the visuals.

Do you think this is a bug or by design?

If by design, I am not sure what use it is to sort something in PowerQuery and the sort is not maintained in visuals?

 

I will mark your answer as solution shortly but just waiting to get some thoughts on the above questions from you ro anyone who might shed some light.

I guess Using Index as you mentioned is the easiest. Just sort in power query and then create Index column

@anandav,

 

Sorting in Power Query can be used in later steps.

Community Support Team _ Sam Zha
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Please vote for this idea as well - adding multiple columns sort feature for Matrix table

 

https://ideas.powerbi.com/ideas/idea/?ideaid=23f41a4f-75c1-ed11-9ac5-501ac5248c97

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.