cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
anandav
Continued Contributor
Continued Contributor

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

9 REPLIES 9
ClaireJenkins
New Member

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.

View solution in original post

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

anandav
Continued Contributor
Continued Contributor

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.
anandav
Continued Contributor
Continued Contributor

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are You Ready?

Test your skills now with the Cloud Skills Challenge.

Top Solution Authors