Hello all,
I want to ask some questions I currently have: Is it possible to have some way to get dates of this week? For example, I have different tasks each day of a month, and I want to filter to show this week only, how could I go doing that? In the case for showing by this month, would some function like MONTH(Today()) = MONTH(<date>) work?
The second part of the question is: I have task from a project, where the start and end date of 'parent' task are based on the start/end date of the subtasks on it. For example:
Project | Task | Subtask | Sub subtask | Start date | End date |
LP | 17-04-2018 | 18-06-2020 | |||
Approvation | 17-04-2018 | 18-07-2018 | |||
Start project | 17-04-2018 | 17-04-2018 | |||
Business meeting | 18-04-2018 | 17-05-2018 | |||
First submission | 04-06-2018 | 18-07-2018 | |||
Execution | 18-04-2018 | 18-06-2020 | |||
Ground mechanic | 18-04-2018 | 01-07-2018 | |||
Land buying | 18-05-2018 | 03-12-2018 | |||
Counterpart meeting | 18-05-2018 | 01-07-2018 | |||
Alcohol buying | 04-06-2018 | 02-08-2018 | |||
Delivery | 03-12-2018 | 03-12-2018 | |||
Go date | 14-06-2020 | 18-06-2020 | |||
Preparation | 14-06-2020 | 16-04-2020 | |||
Opening-finish | 17-06-2020 | 18-06-2020 |
As can be seen, the project start/end date is based upon the start/end date of its task/sub task/sub subtask. In this case, the start date of "LP" is the minimum date of the items in "task" and end date is the max of those items. In the same way, the minimum date of the items in "task" is based upon the ones in "subtask" and, if have another level, in subsubtasks. What I want to know, is there some way so if for example, I changed the "Opening-finish" end date, it would automatically update that date in "go date" (for example, it is now 19-06-2020), and since it is a new 'max', it would change the end date of 'execution' and then the one of the project itself.
Solved! Go to Solution.
Hello again.
Your formula for showing the month is fine. In that case you would only have items where the month of that date would match the month of the current date (Today())
If you wanted to do a caclulation for the week number of the year (PowerApps does not have a WeekNum function yet)...I'll save you the trouble of hunting one down:
RoundDown((RoundUp(yourDate-Date(Year(youDate-Weekday(yourDate-1)+4),1,3),0)+Weekday(Date(Year(yourDate-Weekday(yourDate-1)+4),1,3))+6)/7,0)
Obviously, substituting yourDate with whatever date you wanted to calculate the week number for.
For your second part. If you are using the GroupBy still for your data, then yes, when you change a sub task item, if you have a formula on the dates at the main item (LP in this case), they will reflect the Min and Max of the subitems.
Hope this is helpful.
Yes to your first question - you would need to use that formula for the two week dates you want to compare. One formula for the one date = one formula for the other date. Ex. If(formula(Today()) = formula(compare),...
For the GroupBy - if you are grouping by and storing in a collection, then you will need to update the datasource and redo your groupby. If your groupby is a formula on a Gallery, then you ony need to update the datasource...it will refresh itself.
NOW...this is assuming that the calculated end-date for a phase is ONLY calculated. If the data is stored with the phase item, then you will need to not only update the task item end-date, but then also update the Phase end-date. That could get tricky.
Hello again.
Your formula for showing the month is fine. In that case you would only have items where the month of that date would match the month of the current date (Today())
If you wanted to do a caclulation for the week number of the year (PowerApps does not have a WeekNum function yet)...I'll save you the trouble of hunting one down:
RoundDown((RoundUp(yourDate-Date(Year(youDate-Weekday(yourDate-1)+4),1,3),0)+Weekday(Date(Year(yourDate-Weekday(yourDate-1)+4),1,3))+6)/7,0)
Obviously, substituting yourDate with whatever date you wanted to calculate the week number for.
For your second part. If you are using the GroupBy still for your data, then yes, when you change a sub task item, if you have a formula on the dates at the main item (LP in this case), they will reflect the Min and Max of the subitems.
Hope this is helpful.
Hello again @RandyHayes
Thanks for clarification on the month, think it will work fine (at the moment collecting data :p). However, on the week one I am kinda confused. It will give me the input date's week, however, for what I want, I would need to use that formula twice then? Like, formula(with today) = formula(with comparing date) then? (That in an IF statement)
Regarding the GroupBy items, where would I go changing the value? since it also needs to change in the database/source, too. So, I would need to change some form's datacard? And the formula, it would be something like:
"MIN/MAX(ThisItem.GroupedName.Date)"?
Again, thanks for your answer
Yes to your first question - you would need to use that formula for the two week dates you want to compare. One formula for the one date = one formula for the other date. Ex. If(formula(Today()) = formula(compare),...
For the GroupBy - if you are grouping by and storing in a collection, then you will need to update the datasource and redo your groupby. If your groupby is a formula on a Gallery, then you ony need to update the datasource...it will refresh itself.
NOW...this is assuming that the calculated end-date for a phase is ONLY calculated. If the data is stored with the phase item, then you will need to not only update the task item end-date, but then also update the Phase end-date. That could get tricky.
Neat, thank you. As soon I use that one, will let you know if it goes wrong 😛
Regarding the GroupBy... The datasource I am using is an Excel sheet like the one in the first post, data shown just like it. What I need with the dates is that, if the users submit an EditForm when editing an entry, and modifies the date, that date will, of course, be updated/changed in the datasource/Excel sheet due to the form used. However, then it needs to update those that use the updated item as "base" for the MIN/MAX thing, not only show/calculate, like the code you previously helped me when counting items. The gallery is using GroupBy codes such as:
GroupBy(Filter(DBExcelProjectTable, User().Email=Lower(Responsable) && Len('Nombre Tarea')>0), "Nombre_x0020_Tarea", "Tareas")
Are you attempting to maintain an Excel spreadsheet with information, or are you using the Excel spreadsheet as a datasource only?
If you're trying to maintain it, you're going to have issues in that you need to perform these changes across all the cells that need to be changed. That's going to be a challenge - really not the function of PowerApps.
If you're just using it as a datasource, then all your date-ends would be calculated. Typically a Task will have a duration associated with it - I don't see one in your sample. This would go a long way to helping calculate the end-dates for tasks/phases/subtasks/etc.
So, if just going by the end-dates, then your End-Date for SubTask "Go date" would be the Max of the End-date of the Sub Subtasks under that subtask. Likewise, the End-Date of the Execution task would be the max of the Subtasks under it, and finally the LP project would have an end-date of the max of the end-dates under it. All can be done with GroupBy.
A mix of both, actually. The "date change" function has not been requested by my user so far, so it is an option at the moment I am more verifying than actual use, however, knowing in advance can help me to limit the scope of what the app will do. I say a mix, since the user will be able to see the data, and, apparently, edit the %progress of the item in question. As an additional field, the user will be able to input the 'real' finish date, so there's that. And also, yes, project list/task does have a duration of days, however didn't post it on the table at first post.
As a finishing question, kinda: having empty field in Excel sheet, but changing its type to, for example, 'date', in PowerApps, will it read it as date? or as string/text?
Yes, the scenario you propose is not impossible and could be quite easy depending on the data and how it is being used otherwise. See if your user requests first 😉
On the Excel cell format...not entirely sure how PowerApps determines column data types - if it is based on the data in the cells or if it is based off of formatting/cell type. I would think the former would be the case, but I'd have to experiment myself to know...or, anyone else can certainly chime in here.
Since we are on the topic of updating fields, kinda, a related question: Is it possible that in an empty column I have on Excel (but with title/header), to fill it with a formula in PowerApps? Kinda like this: I have column A with date1 that has data in its field, column B with date2, which is an input from the user when editing the entry, and column C with "on schedule" title but empty. So, when user inputs date2, column C would get some data into it, like some text saying yes/no or days that are not used, etc; in the end, it would input some data with column A and B as "source" so to speak. I know I can 'see' it in PowerApps, but, would it fill the camp in the Excel sheet?
As an update regarding Excel field type: Yes, it does read it from the Excel table.
Date 1 and 2 there had input data in the source Excel file. The 3rd date I had empty fields but in Excel used format "short date". The following field wanted to test number field and last one text. In the form, when managing fields, recognizes those as date/date/date/number(123)/string(ABC).
User | Count |
---|---|
124 | |
87 | |
86 | |
75 | |
69 |
User | Count |
---|---|
214 | |
181 | |
140 | |
96 | |
83 |