cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
webportal
Post Prodigy
Post Prodigy

DAX ALLEXCEPT: How to remove all filters but one?

In my simple table, I have 3 columns:

  • Date
  • Sales
  • Store

These are the numbers: 

enter image description here

I want to calculate the sales for all the years for each store:

 

All Except Store = SUMX(ALLEXCEPT(Table1;Table1[Store]);Table1[Sales])

This is returning the following: 

enter image description here

It's nonsense! It's removing ALL the filters, so to calculate the sales for all the years and KEEP the filters on the store using ALLEXCEPT I can use:

 

All Except Store2 = CALCULATE(SUM(Table1[Sales]); ALLEXCEPT(Table1;Table1[Store]))

 

This one works.

 

But why doesn't it work with SUMX?

1 ACCEPTED SOLUTION

@webportal,

I got response from PG:

AllExcept behaves differently when used as a set filter in Calculate or when used to return a table. In the former case, all filters removed except for the filters on the specified columns.

SUMX(ALLEXCEPT(Table1;Table1[Store]);Table1[Sales]) means return a table of all rows in Table1. The returned table has all columns in Table1 except the [Store] column. Afterwards, calculate the sum by iterating over the returned table.


Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

8 REPLIES 8
themistoklis
Super User II
Super User II

@webportal

 

Also you need pay a good attention on Calculate function.

 

The CALCULATE function changes the context in which the data is filtered, and evaluates the expression in the new context that you specify. For each column used in a filter argument, any existing filters on that column are removed, and the filter used in the filter argument is applied instead.

themistoklis
Super User II
Super User II

@webportal

 

Can you also check if this formula with SUMX works?

 

 

All Except Store = SUMX(ALLEXCEPT(Table1;Table1[Store]); CALCULATE(SUM(Table1[Sales])))

 

Yep, that one works too. CALCULATE has magical powers!

 

Here's the link to the pbix.

 

Thanks

AlB
Super User III
Super User III

@webportal

You are using the ALLEXCEPT in an unusual manner.

Create a new table to see what the result of ALLEXCEPT(Table1;Table1[Store]) is. I think that will clarify what is going on.

@webportal,

I got response from PG:

AllExcept behaves differently when used as a set filter in Calculate or when used to return a table. In the former case, all filters removed except for the filters on the specified columns.

SUMX(ALLEXCEPT(Table1;Table1[Store]);Table1[Sales]) means return a table of all rows in Table1. The returned table has all columns in Table1 except the [Store] column. Afterwards, calculate the sum by iterating over the returned table.


Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

View solution in original post

v-yuezhe-msft
Microsoft
Microsoft

@webportal,

I will consult this issue internally. And you can use the dax below instead.

Measure 2 = SUMX(FILTER(ALL(Table1);Table1[Store] =MAX(Table1[Store]));Table1[Sales])



Regards,
Lydia

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Ok, thanks a lot.
AlB
Super User III
Super User III

Hi @webportal

Can you share the pbix?

 

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

secondImage

Are You Ready?

Test your skills now with the Cloud Skills Challenge.

Top Solution Authors