Forum Discussion
DAX FILTER with multiple criteria
- 4 years ago
Hi,
Calculate has a built in [filter] places in its expression and thus you don't need to add FILTER to your calculation. Something like this should work:Back Charge Int.Cost =CALCULATE(SUM('Back Charge Data'[Back Charge Cost]),
all('Back Charge Data'),'Back Charge Data'[OPL] in {"CECO", "METALLIC", "STAR"},'Back Charge Data'[Selling Brand] in {"Drafting", "Engineering"})Here I added ALL to remove other filters affecting the calculation.
I hope this helps to solve your issue and if it does consider accepting this post as a solution and giving it a thumbs up! - 4 years ago
I don't see anything necessarily wrong with your DAX although it would be a bit more efficient to write it like this:
Back Charge Int.Cost = CALCULATE ( SUM ( 'Back Charge Data'[Back Charge Cost] ), KEEPFILTERS ( 'Back Charge Data'[OPL] IN { "CECO", "METALLIC", "STAR" } ), KEEPFILTERS ( 'Back Charge Data'[Selling Brand] IN { "Drafting", "Engineering" } ) )Can you explain what you mean by "my DAX doesn't work"? Are you getting an error? Are you expecting it to act differently?
Are you looking for a version that replaces local filters rather than adding to them like this?
Back Charge Int.Cost = CALCULATE ( SUM ( 'Back Charge Data'[Back Charge Cost] ), 'Back Charge Data'[OPL] IN { "CECO", "METALLIC", "STAR" }, 'Back Charge Data'[Selling Brand] IN { "Drafting", "Engineering" } )
Hi,
Calculate has a built in [filter] places in its expression and thus you don't need to add FILTER to your calculation. Something like this should work:
all('Back Charge Data'),
I hope this helps to solve your issue and if it does consider accepting this post as a solution and giving it a thumbs up!
How would I add on to this a condition that excludes a value? For example:
'Back Charge Data'[Selling Brand] DOES NOT INCLUDE "Drafting" AND "Engineering"
- Anonymous3 years agoNot applicable
Hi , just add a NOT in the starting of the Filter,
Back Charge Int.Cost = CALCULATE( SUM('Back Charge Data'[Back Charge Cost]), all('Back Charge Data'), NOT('Back Charge Data'[OPL] in {"CECO", "METALLIC", "STAR"}), NOT('Back Charge Data'[Selling Brand] in {"Drafting", "Engineering"}) )