Skip to content
Schedule Tasks with Dependencies
Share
Explore

How this works

The Key Results table
Key Result
Due Date - the goal due date for your key result
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.

If(
thisRow.[Dependent on].IsBlank(),
List(thisRow.[Row ID]),
List(thisRow.[Row ID], thisTable.Filter([Row ID]=thisRow.[Dependent on].[Row ID]).[Parent Path]).ListCombine()
)

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.