Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
fxzak
Regular Visitor

Gantt Tasks - Circular dependancy

Dear all,

 

I created a simple table containings tasks like this:

  • taskId
  • startupGoalDate: target date of start
  • previousTaskEnd: calculated with a LOOKUPVALUE on the 'forecastedEnd' of the previous task
  • duration: number of days
  • forecastedStart: calculated, MAX(startupGoalDate, previousTaskEnd+1)
  • forecastedEnd: calculated, forecastedStard + duration

 

I compute the forecastedStart date of a task using the forecastedEnd of the previous task in order to avoid task overlapping.
PBI raise a circular dependancy error because I calculate forecastedStart with the forecastedEnd of the previous task, calculated with the forecastedStart of this task.

 

i guess this error came for the columnar behaviour of vertipak.

does anyone knows a workaround ?

 

cheers,

 

François-Xavier

 

 

2 REPLIES 2
v-juanli-msft
Community Support
Community Support

Hi @fxzak 

In your scenario, forecastedStart use previousTaskEnd, previousTaskEnd use forecastedEnd, forecastedEnd use forecastedStart, it is weird?

As you said, these columns above are all calculated column, so they are not in your original dataset.

While you create one column based on another one, there must be one in the beginning, but both of them depend on each other, the logic is uncorrect.

Could you please share your original table and which formula used to calculate the three columns for further analysis?

 

 

Best Regards

Maggie

Hi Maggie,

 

Thank you for your response.

To start, I have to indruducte the context: manufacturing.
Each task is an assembly operation. Astasks are chained, task B can't stard until task A is completed, task C can't stard before completion and task B and so on...

For each task, i got a schedule with targeted start date and end date.
Constraints change the rules, so dates have to be postponed and schedule must be re-calculated.
This this the purpose of my PBI project: rescheduling tasks based on constraints.

 

 

For the row with [taskId] = 1 : [parent] is null and [worstConstraint] is null then [forecastedStart] has the same value than [startGoal] (01/01/2018). [forecastedEnd] equals [forecastedStart] + [leadtime]

For the row with [taskId] = 2 : [parent] = 1 and [worstConstraint] is not null then [forecastedStart] equals to the maximum value of [startGoal], [worstCosntraint] of the current row and the [forecastedEnd] of the parent row.

Unfortunately, this approach creates a circular dependancy, because my logic might be wrong. 
any chance to get this result on power bi ?

 

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors