cancel
Showing results for 
Search instead for 
Did you mean: 
Reply

Question on variable on measure

Hi,

I am trying to calculate sales amount excluding certain regions, and I have two measures, which seem almost identical to me but somehow one is working but the other one is not.  

 

Can someone please explain why one works but the other one gives wrong result  ?

 

Version 1(Working version): 

 

SalesWithoutNA =
VAR Table1 = FILTER('FactSales',RELATED('DimCountries'[Region])<>"North America")
VAR Result = CALCULATE(SUM('FactSales'[Sales]),Table1)
RETURN Result

 

 

Version 2 (This version gives me wrong results):

 

M_SalesWithoutNA =
VAR Expression1 = SUM('FactSales'[Sales])
VAR Table1 = FILTER('FactSales',RELATED('DimCountries'[Region])<>"North America")
VAR Result = CALCULATE(Expression1,Table1)
RETURN Result

 

I cannot figure out why they dont give me the same results.

 

1 ACCEPTED SOLUTION
tackytechtom
Super User
Super User

Hi @hideakisuzuki01 ,

 

I think this is due to the fact that variables are calculated first and the calculated value becomes a constant and can not be changed with filters anymore. 

 

So in your case, you first calculate the sum of all sales and store that result in the variable Expression1. Afterwards, you apply the filter from Table1 ("North America") to that result. However, applying a filter on a constant does not change the value of your result. So to sum it up, your filter does not kick in.

 

 

 

Does this help? 🙂

 

/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




View solution in original post

2 REPLIES 2

Yes, that does make sense, thanks Tom !

tackytechtom
Super User
Super User

Hi @hideakisuzuki01 ,

 

I think this is due to the fact that variables are calculated first and the calculated value becomes a constant and can not be changed with filters anymore. 

 

So in your case, you first calculate the sum of all sales and store that result in the variable Expression1. Afterwards, you apply the filter from Table1 ("North America") to that result. However, applying a filter on a constant does not change the value of your result. So to sum it up, your filter does not kick in.

 

 

 

Does this help? 🙂

 

/Tom
https://www.tackytech.blog/
https://www.instagram.com/tackytechtom/





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Helpful resources

Announcements
Carousel_PBI_Wave1

2023 Release Wave 1 Plans

Power BI release plans for 2023 release wave 1 describes all new features releasing from April 2023 through September 2023.

Power BI Summit Carousel 2

Global Power BI Training

Make sure you register today for the Power BI Summit 2023. Don't miss all of the great sessions and speakers!

Thank you 2022 Review

2022 Monthly Feature Releases

We had a great 2022 with a ton of feature releases to help you drive a data culture.