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?
Solved! Go to Solution.
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 🙂
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.
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!
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.
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!
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 🙂
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 @Anonymous have suggested.
If you want something more static, a SharePoint list with 12 items input from Jan to Dec could be sorted by ID.
User | Count |
---|---|
246 | |
105 | |
82 | |
50 | |
43 |