cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
_kikilalaaa
Level: Powered On

Sort Month Drop Down Chronologically

Hi all!

 

I have a drop down in my power apps and the items are the months column from SharePoint. How do I sort the month record chronologically?

 

For example:

 

Jan

Apr

Dec

 

Right now, what I did is:

Sort(Distinct(Filter('SP LIST', Dept = varDept, Year = RecordedYear.Selected.Result), Month),Result,Descending)

 

But it sort the month alphabetically like this:

Jun

Jan

Apr

 

Any idea for this?

1 ACCEPTED SOLUTION

Accepted Solutions
Eelman
Level 10

Re: Sort Month Drop Down Chronologically

@_kikilalaaa 

Plenty of good ideas here already but I'll my 2 cents as well 🙂

 

You can use AddColumns on the fly like this

Sort(
    AddColumns(
      Distinct(
         Filter('SP LIST', Dept = varDept, Year = RecordedYear.Selected.Result), 
          Month),
          "Rank", 
          Switch(Result,
          "Jan", 1, "Feb", 2, "Mar", 3, "Apr", 4, "May", 5, "Jun", 6,
          "Jul", 7, "Aug", 8, "Sep", 9, "Oct", 10, "Nov", 11, "Dec", 12)
     ),Rank,
     Ascending
)

Note: change your Month text values to suit if they differ from my code? You really should consider a Date column formatted as date though. Makes life very easy 🙂

 

View solution in original post

17 REPLIES 17
WarrenBelz
Level 8

Re: Sort Month Drop Down Chronologically

Hi @_kikilalaaa ,

The below does not deal with any delegation issues you will get with a date and distinct filter, but you should use the Month function, which returns a number between 1 and 12 for the month, so you could try something like this with your date field.

Sort(
   Distinct(
      Filter(
         'SP LIST', 
         Dept = varDept, 
         Year = RecordedYear.Selected.Result
      ), 
     Month
   ),
   Month([Your Date Field]),
   Ascending
)

 Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

_kikilalaaa
Level: Powered On

Re: Sort Month Drop Down Chronologically

hi @WarrenBelz

 

that is a very good idea but i am not sure if that is the one i look for.

does this means that the [date field] must be in date format? 

 

Because in my sharepoint, I do not have date column. the [month] field is in a single text and i do not want to change it to date as I want it to be "Jan,Feb...." . 

 

Let me explain about my project in more detailed.

 

In my screen there are 2 dropdowns. One for "Year" and one is "Month". When user choose certain Year from YearDropDown, it will filter the "Month" DropDown and display the available month for that year chronologically. Currently, it can display the months available but it is not chronologically. Is there an option where I can assign "Jan" = 1, "Feb" = 2..... so that i can sort it accordingly?

 

Thanks!

WarrenBelz
Level 8

Re: Sort Month Drop Down Chronologically

Hi @_kikilalaaa ,

I don't know of any way of converting the text "Jan" back to a month number, However if you stored a date you could display it as the month name as below

Text([your date],"[$-en-US]mmmm")  //for January
Text([your date],"[$-en-US]mmm")   //for Jan

That way also the formula I have given below will also work on the sort.

 

Please click Accept as solution if my post helped you solve your issue. This will help others find it more readily. It also closes the item. If the content was useful in other ways, please consider giving it Thumbs Up.

 

Super User
Super User

Re: Sort Month Drop Down Chronologically

@WarrenBelz and @_kikilalaaa

Without getting into too much details about this specific use case (because I didn't understand "display the available month for that year"), I potential way is to create a Collection that has two Columns, MonthNumber and MonthName.
The Items property of the dropdown could be this collection (filtered in whatever way you want) and then it can be sorted by the MonthNumber column.

Does this sound like an approach that we can work with?

---
If you like this reply, please give kudos. And if this solves your problem, please accept this reply as the solution.

Thanks!
Hardit Bhatia
https://thepoweraddict.com
_kikilalaaa
Level: Powered On

Re: Sort Month Drop Down Chronologically

Hi @PowerAddict,

I am thinking about this too but I am not familiar with Collections. How do I create for 2 columns?

For your question, the months available is the recorded months for the particular year. Let say the year 2020 only have record for Jan and March. Therefore, the month drop down should be:

Mar

Jan

 

 

Another way that I can think is that, actually I have another dropdown, I call it as MonthList, which the items are all months(Jan - Dec). Can I sort the "available month drop down" based on "MonthList" drop down?

 

Sorry i know it is very confusing. Thank you for your patience!

eka24
Level 10

Re: Sort Month Drop Down Chronologically

Kindly try what @WarrenBelz suggested.
You can't sort by month name. For example Dec will come before May because of spelling.
Eelman
Level 10

Re: Sort Month Drop Down Chronologically

@_kikilalaaa 

Plenty of good ideas here already but I'll my 2 cents as well 🙂

 

You can use AddColumns on the fly like this

Sort(
    AddColumns(
      Distinct(
         Filter('SP LIST', Dept = varDept, Year = RecordedYear.Selected.Result), 
          Month),
          "Rank", 
          Switch(Result,
          "Jan", 1, "Feb", 2, "Mar", 3, "Apr", 4, "May", 5, "Jun", 6,
          "Jul", 7, "Aug", 8, "Sep", 9, "Oct", 10, "Nov", 11, "Dec", 12)
     ),Rank,
     Ascending
)

Note: change your Month text values to suit if they differ from my code? You really should consider a Date column formatted as date though. Makes life very easy 🙂

 

View solution in original post

Super User
Super User

Re: Sort Month Drop Down Chronologically

You can create a collection like this:

ClearCollect(MonthColl, {ID: 1, Name: "Jan"}, {ID: 2, Name: "Feb"} and so on.

Let me know if you are able to use this in some way else try what @WarrenBelz has suggested.

---
If you like this reply, please give kudos. And if this solves your problem, please accept this reply as the solution.

Thanks!
Hardit Bhatia
The Power Addict
https://thepoweraddict.com
WarrenBelz
Level 8

Re: Sort Month Drop Down Chronologically

Hello all,

Yep - all of that would work depending on how you @_kikilalaaa wants to design the program.

The thrust of my suggestion was that from a data governance point of view, a date, even it is presented in other ways to users, is something that is seriously worth considering having in a record.

The numbered month lists could be presented in a number of ways, including what my very capable colleagues @PowerAddict  and @Eelman have suggested.

If you want something more static, a SharePoint list with 12 items input from Jan to Dec could be sorted by ID.

 

 

 

Helpful resources

Announcements
Better Together’ Contest Finalists Announced!

'Better Together’ Contest Finalists Announced!

Congrats to the finalists of our ‘Better Together’-themed T-shirt design contest! Click for the top entries.

thirdimage

Power Apps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Join THE global Microsoft Power Platform event series

Attend for two days of expert-led learning and innovation on topics like AI and Analytics, powered by Dynamic Communities

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

thirdimage

Microsoft Business Applications Virtual Launch

Join us for the Microsoft Business Applications Virtual Launch Event on Thursday, April 2, 2020, at 8:00 AM PST.

thirdimage

Community Summit North America

Innovate, Collaborate, Grow - The top training and networking event across the globe for Microsoft Business Applications

Top Solution Authors
Top Kudoed Authors
Users online (8,287)