Forum Discussion
Filtering table with date
- 4 years ago
Calling a measure inside of an iterator like FILTER means a context transition happens that transforms all of the row context into filter context, so that even though [Last date] removes the Date filter context, all of the other column values in that row are still being applied as filter context, in which case you aren't getting the max over the whole table as you expect.
Often, it's easier to sidestep the problem using variables. This also has the advantage of only calculating that measure once instead of for each row of the table you're filtering.
Test Case Step-Blocked-Last = VAR LastDate = [Last date] RETURN CALCULATE ( COUNT ( 'PH_TestCaseStep'[Test Case Step Status] ); 'PH_TestCaseStep'[Date] = LastDate; 'PH_TestCaseStep'[Test Case Step Status] = "Blocked" )Depending on how you want the measure to behave, you may want to keep existing filters on the table rather than replace them. In that case, use
Test Case Step-Blocked-Last = VAR LastDate = [Last date] RETURN CALCULATE ( COUNT ( 'PH_TestCaseStep'[Test Case Step Status] ); KEEPFILTERS ( 'PH_TestCaseStep'[Date] = LastDate ); KEEPFILTERS ( 'PH_TestCaseStep'[Test Case Step Status] = "Blocked" ) )
Hi Kumail,
I will try to send the pibx file, need to figure out how. Shall I send it private?
My feeling is that meaure can't be used within the FILTER function. May be I am wrong....
You can send the sample .pbix file by adding it to your drive or dropbox and add the link here.
Regards
Kumail Raza
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly and I would love to see your like.