cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
montrealpie Frequent Visitor
Frequent Visitor

DAX ALL Function not working as expected

Hello,

 

I have a fairly basic problem that doesn't seem to rectify itself where I am trying to remove a filter context through the ALL() function, but the measure ignores this command and I do not get the expected result. From my screenshot below, I would expect the Rack Avg function to return the average of the five numbers for all rows with that date. There are no relationships to the source table and no columns sorted. Can someone explain why I may be having trouble?

 

Rack Measure = sum('Effective Rack Extracts'[Rack Price])

Rack Avg Measure = CALCULATE(AVERAGE('Effective Rack Extracts'[Rack Price]),all('Effective Rack Extracts'[Contract]))

 

Appreciate your help in advance; thank you.

 

Capture.JPG

4 REPLIES 4
Nick_M New Contributor
New Contributor

Re: DAX ALL Function not working as expected

try

Day Average Rack = 
    CALCULATE( 
        AVERAGE(Table1[Rack]), 
        ALLEXCEPT(Table1, Table1[date])
    )

Avg for all Date.png

montrealpie Frequent Visitor
Frequent Visitor

Re: DAX ALL Function not working as expected

Thanks for the idea, but the full table has six different attributes. I can specify them and then explicity specify any dimension tables I link the table to. It really doesn't seem like a sustainable solution, because if I add a new dimension table, I then have to go into the measure (and any measure like it) and add the new dimension table. I guess I'm surprised there isn't a simpler, more straightforward way to just remove a single filter instead of specifying all the filters I don't want removed. I know I can force an average through a calculated column because I can just calculate the average but that's really not best practice either. I'm interested in the proper syntex to unfilter the one column within the measure if it's possibe. Based upon this sqlbi.com article, they certainly do it, but I do not get the expected result at all. Is it because they are removing filters on the related Sales table instead of a filter in the Products table itself?

 

https://www.sqlbi.com/articles/managing-all-functions-in-dax-all-allselected-allnoblankrow-allexcept...

PaulDBrown Senior Member
Senior Member

Re: DAX ALL Function not working as expected

For what it’s worth, I’m having the exact same issue, and asked for help in this thread:

https://community.powerbi.com/t5/Desktop/Minimum-Date-ALL-does-not-ignore-date-filter-context/m-p/68...

Baffled as to why ALL behaves this way...
PaulDBrown Senior Member
Senior Member

Re: DAX ALL Function not working as expected

Hi montrealpie,

 

I found a solution reading the article you posted from sblbi.com. Apparently in my case I needed to include CALCULATETABLE in the filter expression of my measure in order to get the CALCULATE function to ingnore the date filter context. (I am trying to get the earliest date each lead was emailed regardless of the date filter context)

 

You can see the different behaviours in this screenshot:

 

 

 

Solution.jpg

 

 

My guesss  is it should work for you given the right parameters.

 

Best,

Paul.

 

PS. Despite the solution, I still don't understand why the ALL function does not remove the filter context by itself...
In fact, both measures using a simple ALL in my example return the same result as a simple MIN function In first column: MIN(Mails [date sent])