Forum Discussion
Set a filter based on MAX
- 10 years ago
GilesWalker - Try switching your ALL to an ALLEXCEPT in order to preserve the Train ID context filter:
max = CALCULATE(MAX(Train_Movements[sequence]),ALLEXCEPT(Train​_Movements,[Train id]))
I'm thinking a Measure and a Custom Column.
Measure:
Max = CALCULATE(MAX([Value]),ALL(Averages2))
Column
IsMax = IF([Value] = [Max],1,0)
Now you can set your page filter to "IsMax = 1" and you should be good to go.
Basically, the Max measure uses CALCULATE with an ALL filter to ensure that it calculates the MAX regardless of row context, etc. Then, IsMax creates a boolean value that tells you whether or not it is the MAX. To incorporate Train ID and Date, you could use an ALLEXCEPT clause in your CALCULATE filter if needed. So, think of it as all records except those filtered by this particular column kind of thing. Should get you there with a little messing around with it.
@smoupre Thanks for the response. I may of not understood your formula as I got the same result as the formula I mentioned in the intial post.
I created the max measure like this:
max = CALCULATE(MAX([Sequence]),ALL([date])) and this does indeed give you snapshot of the max sequence number, see picture below:
However when you create the custom column all values are the same "1".:
If I enter the [Sequence] data into the table and select dont summarize you can see what happens:
Each row is considered the max. This is as far as I got intially before asking for help. Its a bit of a pickle.
Thanks,
Giles
- konstantinos10 years agoMemorable Member
I believe the error is the ALL( Date).. In your table there is no date or ta least ( the Train ID & Date is text )..You need to add ALL( table that has the sequence ).
If is not a help then you need to give us more details..Also please add the table name is you are refering to a column so we know is a column and not a measure i.e. CALCULATE( MAX(Table1[Sequence]), ALL( 'Table2' ) )
- Greg_Deckler10 years agoCommunity Champion
Thanks for clarifying the formula konstantinos. I shouldn't have left it like I did with my testing table names in it. As pointed out, I had a single table called Averages2 and a column in that table called [Value]. So, GilesWalker in your formula where you reference ALL([date]) I do not believe that was equivalent to what I was doing if you are not getting the expected result. Probably has to do with your data model being different than my very simple single table data model. Same basic premise should apply ubt would need more information on your model to get specific.
- konstantinos10 years agoMemorable Member
Greg_Deckler Sorry I wasn't reffering to your formula..but mostly on GilesWalker formula on ALL([Date]) that seems to be a column ( due to [ ] ) but not sure if is in the same table as the [Sequence] column, since we only see dates consolidated with train ID...