Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Ive seen someone say they can use the Sort By Column button in the Modelling tab but thats greyed out for me.
This is what I have but I want the order to be "< 1 Week", "1 Week - 1 Month", "1 Month - 3 Months", "> 3 Months"
Solved! Go to Solution.
Hi @AlexCassin,
We can add a custom column in power query and make the date column be sorted by the custom column.
if [date] = "< 1 Week" then 1 else if [date] = "1 Week - 1 Month" then 2 else if [date]= "1 Month - 3 Months" then 3 else 4
And here is the M code in advanced eitor for your reference.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wiik1MDBOVjBUCE9NzVbSUTI0VIrViVaC8BV0gRK++XklGUAZI2OoDFgAKGUMYRWD5CC6wIalIksYmyAkkG0xIccWUxMcthgaY7XF2BSrsJkFLsvNjAhajlMuFgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, sales = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"sales", Int64.Type}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"Column1", "date"}}),
#"Added Custom" = Table.AddColumn(#"Renamed Columns", "Custom", each if [date] = "< 1 Week" then 1 else if [date] = "1 Week - 1 Month" then 2 else if [date]= "1 Month - 3 Months" then 3 else 4)
in
#"Added Custom"
For more details, please check the pbix as attached.
Regards,
Frank
Hi @AlexCassin,
We can add a custom column in power query and make the date column be sorted by the custom column.
if [date] = "< 1 Week" then 1 else if [date] = "1 Week - 1 Month" then 2 else if [date]= "1 Month - 3 Months" then 3 else 4
And here is the M code in advanced eitor for your reference.
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wiik1MDBOVjBUCE9NzVbSUTI0VIrViVaC8BV0gRK++XklGUAZI2OoDFgAKGUMYRWD5CC6wIalIksYmyAkkG0xIccWUxMcthgaY7XF2BSrsJkFLsvNjAhajlMuFgA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Column1 = _t, sales = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Column1", type text}, {"sales", Int64.Type}}),
#"Renamed Columns" = Table.RenameColumns(#"Changed Type",{{"Column1", "date"}}),
#"Added Custom" = Table.AddColumn(#"Renamed Columns", "Custom", each if [date] = "< 1 Week" then 1 else if [date] = "1 Week - 1 Month" then 2 else if [date]= "1 Month - 3 Months" then 3 else 4)
in
#"Added Custom"
For more details, please check the pbix as attached.
Regards,
Frank
Okay so I have the Order column now, how do I make it sort by that column?
Hi @AlexCassin,
Please refer to the picture to sort the column by another coumn in the table.
Regards,
Frank
Hmm, I seem to be doing something wrong. I've sorted by order but the range doesn't seem to change correctly, it jumps from 1 to 3... There is data there that should be before 3 but its further down. Please see the picture below (Had to black out sensitive information) but you can see that order is ticked in the dropdown and the numbers on the right jump from 1 to 3.
Hi @AlexCassin,
Did you try to create visuals? By sorting by the order column. The x-axis values should be ordering accrodingly as you excepted If you had make the AgeRange column be sorted by order.
Regards,
Frank
Yes, nothing changed about the visual at all.
Hi @AlexCassin,
Did you make the visual Sort by Agerange like the picture as below.
Regards,
Frank
Aha! That did it! I thought t was already sorted by that so I didn't even think to check! Must've changed it when I was trying things myself!
Thanks!
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 37 | |
| 37 | |
| 33 | |
| 32 | |
| 29 |
| User | Count |
|---|---|
| 130 | |
| 88 | |
| 82 | |
| 68 | |
| 64 |