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
Anonymous
Not applicable

Error with Nested IF and Calculate/Filter Condition

Hi 

 

I am trying to calculate a column called Differential based on different IF condition . However , when I am using nested IF statements I am getting this error. I tried using Switch statement too but that didnt work because Switch doesnt work with calculated columns ?

 

Query 

NGFinal = SUMMARIZE('NGPricesOneLine','NGPricesOneLine'[Source Name],'NGPricesOneLine'[Month],'NGPricesOneLine'[PriorSettle],"Differential",If(
        'NGPricesOneLine'[Source Name] = "ABC",
                SUM('NGPricesOneLine'[PriorSettle]),
If(     'NGPricesOneLine'[Source Name]IN {"C","D","E","F"},
                CALCULATE(SUM(NGPricesOneLine[PriorSettle]), CALCULATE(SUM('NGPricesOneLine'[PriorSettle])) -FILTER(ALLSELECTED(NGPricesOneLine), NGPricesOneLine[Month] =MIN('NGPricesOneLine'[Month]) && 'NGPricesOneLine'[Source Name]="ABC")),
If(     'NGPricesOneLine'[Source Name]IN {"G","H","I"},
                CALCULATE(SUM('NGPricesOneLine'[PriorSettle]), CALCULATE(SUM(NGPricesOneLine[PriorSettle]), FILTER(ALLSELECTED(NGPricesOneLine), NGPricesOneLine[Month] =MIN(NGPricesOneLine[Month]) && 'NGPricesOneLine'[Source Name]="ABC")) -CALCULATE(SUM('NGPricesOneLine'[PriorSettle]))
        
        ))
)))
 
Error : A function 'CALCULATE' has been used in a True/False expression that is used as a table filter expression. This is not allowed.
 
The same query works if I am using only One IF statement . 
 
Would appreciate if someone could guide , what am I doing wrong
 
Thanks
 
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Re-wrote the query and it worked. Thanks all for your inputs 

View solution in original post

5 REPLIES 5
v-eachen-msft
Community Support
Community Support

Hi @Anonymous ,

 

I found a negative sign before FILTER(). I think it may be a comma. 

 

-FILTER(ALLSELECTED(NGPricesOneLine)

 

-->

 

,FILTER(ALLSELECTED(NGPricesOneLine)

 

 

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

Hi 

 

Thanks for your response. "-" sign is for subtraction. I have to subtract corresponding values for different sources from ABC or ice versa. Have explained the issue above with sample source data .

Thanks for your help

 

 

lbendlin
Super User
Super User

Here's some general guidance: Look at your query on http://www.daxformatter.com/

 

That helps you visualize the logic, and also helps you identify repetitive calculations that are better done once, using variables.

 

Also note that "ABC" is not the same as {"A","B","C"} but I guess you knew that already.

Anonymous
Not applicable

Thanks for the reply lbendlin I ran my query through DAX formatter and it looks okay. Couldnt find any flaws . 

 

I didnt copy my source data for you all to understand and suggest changes . Mentioned below is my source data 

Differential is a calculated column 

 

DifferentialSource NameMonth PriorSettle
1ABCJul-201
2ABCAug-202
3ABCSep-203
4-2=2CAug-204
1-3=-2CSep-201
2-0=2COct-202
2-1=1DJul-202
5-2=3DAug-205
1-4=-3GJul-204
2-2=0GAug-202

 

I have to calculate this column on the basis of where Source is "ABC" and a matching month , if Source is C,D, .. , I should subtract the value of "ABC" from C,D.. if its G, H.. I have to subtract the values from "ABC". IF its ABC , the priorsettle should stay as is. PLease note all of this needs to be matched on a month.

 

I am pretty new to POwerBI hence please feel free to suggest if my entire apprach to calculate these values is not correct 

Thanks for your help

Anonymous
Not applicable

Re-wrote the query and it worked. Thanks all for your inputs 

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.

Top Solution Authors
Top Kudoed Authors