Forum Discussion
Chris_Ruddick
4 years agoFrequent Visitor
Parameter Measure Speed Improvement - using Calculate/DistinctCount/Filter...
I have the following DAX measure used within a parameter, that is used as a selection panel for a data matrix: No of Orders = CALCULATE(DISTINCTCOUNT('UK Sales TOTAL'[Doc Number]),FILTER('UK ...
- 3 years ago
FILTER('UK Sales TOTAL','UK Sales TOTAL'[Sales Value]>0)That's what's causing it to be slow. The golden rule of DAX says: Never filter a table when you can filter a column.
I assume you know the correct rules of DAX formatting and Sales Value is a field in the table, not a measure. If this is so, then you can try:
No of Orders = CALCULATE( DISTINCTCOUNT( 'UK Sales TOTAL'[Doc Number] ), KEEPFILTERS( 'UK Sales TOTAL'[Sales Value] > 0 ) )
v-yadongf-msft
Community Support
3 years agoHi Chris_Ruddick ,
The presence of a large number of unique values for a column affects the calculation of the DISTINCTCOUNT function and the calculation of the filter parameter of the CALCULATE function.
You can try not to filter the whole table to refine the filter conditions. Please try following DAX:
No of Orders = CALCULATE(DISTINCTCOUNT('UK Sales TOTAL'[Doc Number]),KEEPFILTERS(FILTER(ALL('UK Sales TOTAL'[Doc Number],'UK Sales TOTAL'[Sales Value]),'UK Sales TOTAL'[Sales Value]>0)))
Best regards,
Yadong Fang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.