cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
anandav Established Member
Established Member

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

Accepted Solutions
Community Support
Community Support

Re: Sorting by multiple columns

@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

7 REPLIES 7
Community Support
Community Support

Re: Sorting by multiple columns

@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

Highlighted
anandav Established Member
Established Member

Re: Sorting by multiple columns

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.

Community Support
Community Support

Re: Sorting by multiple columns

@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.
anandav Established Member
Established Member

Re: Sorting by multiple columns

usman2338 Frequent Visitor
Frequent Visitor

Re: Sorting by multiple columns

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

usman2338 Frequent Visitor
Frequent Visitor

Re: Sorting by multiple columns

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

taylor_c Frequent Visitor
Frequent Visitor

Re: Sorting by multiple columns

@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!

Helpful resources

Announcements
Coming Soon: T-Shirt Design Contest

Coming Soon: T-Shirt Design Contest

Keep your eyes open for our upcoming T-shirt design contest!

Meet the 2020 Season 1 Power BI Super Users!

Meet the 2020 Season 1 Power BI Super Users!

It’s the start of a new Super User season! Learn all about the new Super Users and brand-new tiered recognition system.

Super User Challenge: Can You Solve These?

Super User Challenge: Can You Solve These?

We're celebrating the start of the New Super User season with our first ever Super User 'Can You Solve These?' challenge.

Power Platform Online Conference

Power Platform Online Conference

Join us for the first ever Power Platform Online Conference!

Top Solution Authors
Top Kudoed Authors