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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
spaxia
Helper I
Helper I

Circular Dependency (Driving me Crazy)

Hello,

 

I have a very simple problem that is driving me crazy:

 

I have a Table with the Following semplified Structure

 

ID, Description, Value

1, Mark, 3

2, John, 6

3, Maria, 5

 

I need to add a column not a measure let's call it CALC and essentially the value of CALC for each Row

depend on the Value of the previous row CALC Value. 

 

Whatever I do i Get a Circular Dependency. 

 

Please help!

 

Thank you so much!

 

4 REPLIES 4
v-eachen-msft
Community Support
Community Support

Hi @spaxia ,

 

You can use a calculated column to do it.

CALC =
CALCULATE (
    FIRSTNONBLANK ( 'Table'[Value], 1 ),
    FILTER ( 'Table', 'Table'[ID] = ( EARLIER ( 'Table'[ID] ) - 1 ) )
)

2-1.PNG

To avoid the Circular Dependency errors, you can refer to this document.

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

 

Best Regards,

Eads

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Community Support Team _ Eads
If this post helps, then please consider Accept it as the solution to help the other members find it.

Thank you Eads,

 

actually this is not what i want to achieve. Let me explain with more details:

 

I have the following scenario:

 

PBIWAC.png

 

WAC it's what I want to achieve (i created the result manually) , but i cannot find a way to add such a calculted column. it should be a column since a need to reuse it in other calculations so cannot be a measure.

 

To give an example to calculate WAC or row 2 i do the following

 

(Amount + (Stock * (CALC of previous Row))) / Stock + Qty

 

(40 + (5 * 9)) / 5 + 5

 

Result would be 85/10 = 8,5 

 

And so on...

 

Thank you so much for your help

Hello,

 

thank you so much for your help.

 

But actually I want something like:

 

CALC =
CALCULATE (
    FIRSTNONBLANK ( 'Table'[CALC], 1 ),
    FILTER ( 'Table', 'Table'[ID] = ( EARLIER ( 'Table'[ID] ) - 1 ) )
)

 

I would like essentially to calculate CALC based on the Previous CALC available.

 

Thank you so much

Hi @spaxia ,

 

There is no recursive concept in DAX.

You have defined CALC with dax, but CALC in dax also needs to use this dax to define it, then it will fall into an endless loop. 
You can refer to the document I attached in the previous answer

 

Best Regards,

Eads

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Community Support Team _ Eads
If this post helps, then please consider Accept it as the solution to help the other members find it.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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