Skip to main content

I am struggling with Circular References.

Finished executing project 'Discovery_Hub' Execution Package 'Report Booking' Execution failed 
Start Time : 8/21/2025 11:52:42 AM
End Time : 8/21/2025 11:52:42 AM
on server: TX-SERVER-DEV -Execute Execution Package Report Booking 'Failed'
'Execute DSA DSA_F.Management Data Cleansing Rules' has a circular relation with the following steps:
'Execute DSA DSA_TX.sub_agrDIM_RentContract Data Cleansing Rules'
'Fill Aggregate Table DSA_TX.sub_agrDIM_RentContract'
'Execute DSA DSA_F.RentContract Data Cleansing Rules'

The execution job Report Booking uses DSA_F.Management, but not DSA_TX.sub_agrDim_RentContracts.
I have also tried excluding DSA_TX.sub_agrDim_RentContracts from the execution job, but it still fails. 

What i find strange is that when i run the following tables individually, i do not get any errors:

DSA_F.Management  
DSA_TX.sub_agrDIM_RentContract 

Also, DSA_TX.sub_agrDIM_RentContract  is not the part of Report Booking prespective 

Only when i run the execution job, the job fails 
 

Is there a lookup in the table that the aggregate table comes from that is pulling data from the aggregate table? You can sometimes get a bit more info by right-clicking a table > Advanced > Object Dependencies. If that window has a little yellow triangle in the top-right, you can hover over that for more info on the (first) circular reference TX encounters.

Aggregate tables are derived tables, so you cannot lookup from them into the source of the aggregation. You may need to do something like:

  • main ETL on table X (loaded from table A)
  • pull table A into a new table with only key fields + fields for aggregation, build the aggregate and do any lookups / ETL that would be circular in the second table

 


@rory.smith 
I have spendt 3 hours looking for any circular relations and was unable to find any.

There was however one relation: In Management table, there was a lookup from the aggegate table. I have removed the look-up from the Management to see if that fixes the issue, but it didnt.  

As a solution, i have created a view of the aggrigate table in ODX and dragged it to DSA.

That solved the issue. 


Reply