Forum Discussion

nish18_1990's avatar
nish18_1990
Helper III
1 year ago
Solved

remove circular dependency between measures

How can i remove circular dependency :

 

Measure 1 

 

 

HasLossAndGain =

VAR ThisIncidentID = My_Main_Table[Incident ID]

VAR HasLoss =

   CALCULATE(

       COUNTROWS('My_Main_Table'),

       'My_Main_Table'[Incident ID] = ThisIncidentID,

       'My_Main_Table'[Financial Impact Type]= "Loss"

   ) > 0

VAR HasGain =

   CALCULATE(

       COUNTROWS('My_Main_Table'),

       'My_Main_Table'[Incident ID] = ThisIncidentID,

       'My_Main_Table'[Financial Impact Type] = "Gain"

   ) > 0

RETURN

HasLoss && HasGain

 

 

 

Measure i need achieve and it is giving with circular dependency with above measure 

 

CA Amount with Sign =
VAR Amount = My_Main_Table[GL Amount USD]
VAR IsBlankOrSpace = TRIM(My_Main_Table[GL Amount USD]) = ""
VAR IsGain = My_Main_Table[Financial Impact Type] = "Gain"
VAR IsLossGain = My_Main_Table[HasLossAndGain]= TRUE()
VAR IsRecovery = My_Main_Table[Correcting Action Type]= "Recovery"
RETURN
IF (
IsBlankOrSpace,
0,
IF (
IsLossGain && IsGain,
-ABS(Amount),
IF (
IsRecovery,
-ABS(Amount),
ABS(Amount)
)
)
)

 

 

 

 

  • These look like calculated columns, not measures, but you should be able to remove the circular dependency error by changing the initial column to

    HasLossAndGain =
    VAR ThisIncidentID = My_Main_Table[Incident ID]
    VAR HasLoss =
        CALCULATE (
            COUNTROWS ( 'My_Main_Table' ),
            'My_Main_Table'[Incident ID] = ThisIncidentID,
            'My_Main_Table'[Financial Impact Type] = "Loss",
            REMOVEFILTERS ( 'My_Main_Table' )
        ) > 0
    VAR HasGain =
        CALCULATE (
            COUNTROWS ( 'My_Main_Table' ),
            'My_Main_Table'[Incident ID] = ThisIncidentID,
            'My_Main_Table'[Financial Impact Type] = "Gain",
            REMOVEFILTERS ( 'My_Main_Table' )
        ) > 0
    RETURN
        HasLoss && HasGain
    

2 Replies

  • These look like calculated columns, not measures, but you should be able to remove the circular dependency error by changing the initial column to

    HasLossAndGain =
    VAR ThisIncidentID = My_Main_Table[Incident ID]
    VAR HasLoss =
        CALCULATE (
            COUNTROWS ( 'My_Main_Table' ),
            'My_Main_Table'[Incident ID] = ThisIncidentID,
            'My_Main_Table'[Financial Impact Type] = "Loss",
            REMOVEFILTERS ( 'My_Main_Table' )
        ) > 0
    VAR HasGain =
        CALCULATE (
            COUNTROWS ( 'My_Main_Table' ),
            'My_Main_Table'[Incident ID] = ThisIncidentID,
            'My_Main_Table'[Financial Impact Type] = "Gain",
            REMOVEFILTERS ( 'My_Main_Table' )
        ) > 0
    RETURN
        HasLoss && HasGain