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

Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started

Reply
setis
Post Partisan
Post Partisan

FILTER with "NOT" issue

Dear experts,

 

I am doing someting wrong when using NOT in a filter.

 

I have a calculated column that is giving me either "Above Average" or "Below Average" in my Sales table

 

I am trying to filter the "Above Average" Sales amount using the following measure:

 

#Sales AboveAvrg = 
VAR SalesAmount = SUMX ( Sales; Sales[Quantity] * Sales[Net Price] )
RETURN
CALCULATE(SalesAmount;
FILTER(ALL(Sales);NOT(
    Sales[Delivery State] = "Below Average")))

The problem is that this is giving me the full Sales Amount.

 

I am able to obtain the correct result using:

#Sales AboveAvrg2 = 
CALCULATE([Sales Amount];
FILTER(Sales;Sales[Delivery State] = "Above Average"))

NotISSUE.PNG

Why is the first one not working?

 

 

Please find the file here: https://drive.google.com/file/d/1MlHXk1r6icFmlPrwV7wulN5k49C95xkt/view?usp=sharing

 

 

 

1 ACCEPTED SOLUTION

@setis 

 

Sorry for late reply.

 

This is because you are using ALL(Sales) in the first formula

 

All removes all the filters from the Table used as argument and associated one side Tables .

 

 


Regards
Zubair

Please try my custom visuals

View solution in original post

3 REPLIES 3
Zubair_Muhammad
Community Champion
Community Champion

@setis 

In the first MEASURE you are using a Variable as expression for CALCULATE function.
Variables are just store of value. They do no respond to EVALUATION CONTEXTs

 

#Sales AboveAvrg = 
VAR SalesAmount = SUMX ( Sales; Sales[Quantity] * Sales[Net Price] )
RETURN
CALCULATE(SalesAmount[Sales Amount];
FILTER(ALL(Sales);NOT(
    Sales[Delivery State] = "Below Average")))

 

 

 


Regards
Zubair

Please try my custom visuals

Dear @Zubair_Muhammad ,

Thanks a lot for your answer, 

I tried to obtain the correct result using the measure for Sales Amount instead. I get the correct result, but not respecting the row context. 

Please see the image below. 

How can I obtain the result I get in the third column using the NOT function?

 

NotISSUE2.PNG

@setis 

 

Sorry for late reply.

 

This is because you are using ALL(Sales) in the first formula

 

All removes all the filters from the Table used as argument and associated one side Tables .

 

 


Regards
Zubair

Please try my custom visuals

Helpful resources

Announcements
Sept PBI Carousel

Power BI Monthly Update - September 2024

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

September Hackathon Carousel

Microsoft Fabric & AI Learning Hackathon

Learn from experts, get hands-on experience, and win awesome prizes.

Sept NL Carousel

Fabric Community Update - September 2024

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