- the goal due date for your key result
Add a Task
- a Button column that adds a task to the
The Tasks Table
- a “Lookup” column to the Key Results table
- the Display column
Days to complete
- your estimated days to completion per task
- a “Lookup” to this same Tasks table with a filter added under “Item Settings” for the lookup column options. This filter prevents tasks from becoming dependent on themselves.
[Key Result]=thisRow.[Key Result] AND Task!=thisRow.Task AND thisRow.[Row ID].Contains(CurrentValue.[Parent Path]).Not()
- the estimated date the task needs to start on and it’s calculated and based on the total days for completion of this task and any dependent tasks it may have.
[Key Result].[Due Date].ToDate() - Days(thisRow.[Total days to complete])
- the estimated finish date for the task which uses the estimated start date and estimated days to complete.
[Start Date].ToDate() + Days(thisRow.[Days to complete])
Total days to complete
- this is a sum of the estimated total days to complete this task and the task it is dependent on. The trick in the solution is in this formula. If there are 3 tasks; Task 1 depended on Task 2 and Task 2 dependent on Task 3, and if each task takes 4 days, then Task 3 would have “4 + 0” which is a total of 4, Task 2 would have “4 + 4” which is a total of 8, and Task 1 would have a total of “4 + 8” which is equal to 12 days.
[Days to complete] + thisTable.Filter([Dependent on]=thisRow).[Total days to complete].Max(0)
- this is simply used as a unique row identifier. This is required for the filter in the “Dependent on” column.
- traces the Row ID’s of chain of dependent rows and is used in the “Dependent on” filter.
List(thisRow.[Row ID], thisTable.Filter([Row ID]=thisRow.[Dependent on].[Row ID]).[Parent Path]).ListCombine()