Add a Task - a Button column that adds a task to the Tasks table
The Tasks Table
Key Result - a “Lookup” column to the Key Results table
Task - the Display column
Days to complete - your estimated days to completion per task
Dependent on - 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()
Start Date - 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])
End Date - 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)
Row ID - this is simply used as a unique row identifier. This is required for the filter in the “Dependent on” column.
RowId(thisRow)
Parent Path - traces the Row ID’s of chain of dependent rows and is used in the “Dependent on” filter.