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

Preparing for a certification exam? Ask exam experts all your questions on May 15th. Register now.

Reply
SummaL
New Member

How to fixe: A circular dependency was detected

I have a Calendar table like below. Only the last two columns are calculated columns.

Column "IsCurrentMonth " is working fine, DAX as below. 

 

IsCurrentMonth =
var currentromonth = 'Calendar'[MonthNo]
var isthismonth = CALCULATE(MIN('Calendar'[MonthNo]),'Calendar'[DATE]=TODAY())
return
if (isthismonth=currentromonth, "Yes", "No")
 
However, Column "IsCurrentWeek" keeps telling me "A circular dependency was detected". Dax as below. I don't think these two columns are related. Is there any "circular dependency"?
Wondering anybody here can help me out on this? Appreciated.
 
IsCurrentWeek =
var currentrowweek = 'Calendar'[Fiscal_Week]
var iscurrentweek = CALCULATE(MIN('Calendar'[Fiscal_Week]),'Calendar'[DATE]=TODAY())
return
if (iscurrentweek=currentrowweek, "Yes", "No")

 

SummaL_1-1642574417685.png

 

 

1 ACCEPTED SOLUTION
v-easonf-msft
Community Support
Community Support

Hi, @SummaL 

I can reproduce the same error.

13.png

I don't know what exactly causes this error, but after encapsulating the condition with ‘filter’, the code can run normally.

IsCurrentWeek =
VAR currentrowweek = 'Calendar'[Fiscal_Week]
VAR iscurrentweek =
    CALCULATE (
        MIN ( 'Calendar'[Fiscal_Week] ),
        FILTER ( 'Calendar', 'Calendar'[DATE] = TODAY () )
    )
RETURN
    IF ( iscurrentweek = currentrowweek, "Yes", "No" )


14.png

 

Best Regards,
Community Support Team _ Eason

View solution in original post

3 REPLIES 3
v-easonf-msft
Community Support
Community Support

Hi, @SummaL 

I can reproduce the same error.

13.png

I don't know what exactly causes this error, but after encapsulating the condition with ‘filter’, the code can run normally.

IsCurrentWeek =
VAR currentrowweek = 'Calendar'[Fiscal_Week]
VAR iscurrentweek =
    CALCULATE (
        MIN ( 'Calendar'[Fiscal_Week] ),
        FILTER ( 'Calendar', 'Calendar'[DATE] = TODAY () )
    )
RETURN
    IF ( iscurrentweek = currentrowweek, "Yes", "No" )


14.png

 

Best Regards,
Community Support Team _ Eason

amitchandak
Super User
Super User

@SummaL , same name seems like an issue, try like

 

IsCurrentWeek =
var _currentrowweek = 'Calendar'[Fiscal_Week]
var _iscurrentweek = CALCULATE(MIN('Calendar'[Fiscal_Week]),'Calendar'[DATE]=TODAY())
return
if (_iscurrentweek=_currentrowweek, "Yes", "No")

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

If renaming the variables doesn't sort it have a read of 

https://www.sqlbi.com/articles/avoiding-circular-dependency-errors-in-dax/

 

In summary when you use CALCULATE in the second calculated column it causes a context transition and moves all columns from the current row into the filter context. That includes the other calculated columns so they end up being circular.

 

You need to add ALLEXCEPT into the calculate to reference just the column(s) you need to use.



Ben Dobbs

LinkedIn | Twitter | Blog

Did I answer your question? Mark my post as a solution! This will help others on the forum!
Appreciate your Kudos!!

Helpful resources

Announcements
PBIApril_Carousel

Power BI Monthly Update - April 2025

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

Notebook Gallery Carousel1

NEW! Community Notebooks Gallery

Explore and share Fabric Notebooks to boost Power BI insights in the new community notebooks gallery.

April2025 Carousel

Fabric Community Update - April 2025

Find out what's new and trending in the Fabric community.