Advance your Data & AI career with 50 days of live learning, dataviz contests, hands-on challenges, study groups & certifications and more!
Get registeredGet Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now
Hi all,
I need help with a DAX column. Originally the column worked just fine but when I added some extra logic I got an error (circular dependency).
I am still trying to understand what a circular dependency is. From my knowlegde all columns in a table depend on eachother. And I think it is due to the fact that I am now calling a column in my DAX formula from the same table.
Since I can't share the .pbix and details from my DAX formula I will try to write down the formula without the details in it. This is the DAX formula for the DAX column, added to the table 'File'.
DateMovedOutWorkingstock =
var countofrowsinsubstatus = countrows(relatedtable('FileSubStatus'))
var countofrowsinstatus = countrows(relatedtable('FileStatus'))
var dateinworkingstock = calculate(selectedvalue(File[DateInWorkingStock]))
return if(countofrowsinstatus = 0, dateinworkingstock,
if(countofrowsinsubstatus = 0, dateinworkingstock,
calculate(COALESCE(
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 3),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 49),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 48),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 8),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 11),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 12),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 66),
calculate(max('FileSubStatus'[StatusStartDate]),'FileSubStatus'[StatusId] = 57),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 3),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 49),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 48),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 66),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 57),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 61),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 56),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 109),
calculate(max('FileStatus'[StatusStartDate]), 'FileStatus'[StatusId] = 4)
))))
In the table 'File' there are two columns: DateInWorkingStock and this new column DateMovedOutWorkingstock. The purpose of these columns is to determine, based on either the FileStatus or FileSubStatus when it moved out the working stock (hope I translated this correctly to English.
When adding this column I get a circular dependency error. Anyone know what I am doing wrong here?
Solved! Go to Solution.
I fixed this issue by adjusting the DAX statement for the DAX column DateMovedOutWorkingStock.
I replaced
var dateinworkingstock = calculate(selectedvalue(File[DateInWorkingStock]))
by:
var dateinworkingstock = LOOKUPVALUE(File[DateInWorkingStock], File[ID], File[ID])
I fixed this issue by adjusting the DAX statement for the DAX column DateMovedOutWorkingStock.
I replaced
var dateinworkingstock = calculate(selectedvalue(File[DateInWorkingStock]))
by:
var dateinworkingstock = LOOKUPVALUE(File[DateInWorkingStock], File[ID], File[ID])
Please let me know if I need to provide any needed information. I would of course want to fix it but also want to understand why I am getting this error.
I do see now that when I remove either the 'Working stock' DAX table OR remove the relationship between the File table and the 'Working stock' table, the DAX column does not give an error.
I do think it might have to do with a calculated table I have in my datamodel.
The exact error of the circular dependency mentions this table as well, as the 'File' table.
This calculated column is a seperate table and the DAX code is as follows:
Working stock =
GENERATE(ALLNOBLANKROW(‘Calender Workingstock’[Date]),
CALCULATETABLE(
var measuredate = SELECTEDVALUE(‘Calender Workingstock’[Date])
var temptable =
filter(File, File[DateInWorkingStock] <= meetdatum &&
(File[DateMovedOutWorkingStock] > meetdatum || isblank(File[DateMovedOutWorkingStock])))
return selectcolumns(temptabel, "ID File", File[id File])
)
)
The DAX column DateMovedOutWorkingStock does not give an error when I remove this DAX table. But of course that is not a solution.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!
Check out the October 2025 Power BI update to learn about new features.
| User | Count |
|---|---|
| 8 | |
| 6 | |
| 6 | |
| 5 | |
| 4 |
| User | Count |
|---|---|
| 25 | |
| 16 | |
| 8 | |
| 8 | |
| 8 |