Forum Discussion
Measure with multiple conditions and nested loops (earlier)
Hi Datanuts,
I have an employee records database, for which I'm trying to create a measure that counts the number of employees per manager. This measure works as intended with the following code:
- Anonymous6 years ago
so....in the end I figured out the solution, in case anyone else searches for this.
Namely I learned that Filter can take multiple criteria, despite the syntax definition implying 1. 2 ways to solve:
1. FIND(TABLE, AND( criteria 1, criteria 2))
2. FIND( TABLE, criteria1 && criteria2 )
Key notes...answer 1, the AND function takes only 2 criteria, so you can't do 3+. Answer 2, you can cascade the && to make multiple criteria past the first 2.
Credit here for where I found the solution:
https://blog.westmonroepartners.com/favorite-quick-easy-dax-multiple-filter-criteria/
In the end I needed to have EARLIER in the inner loop for each condition, to select correctly. Measure works beautifully....
5 Replies
- jthomson
Solution Sage
That's unnecessarily convoluted. Just make a measure Employees = countrows('Workers Database'). Want to know how many employees are with each manager? Make a matrix, put this as the value, put the manager ID field as the rows. Want to filter by employee type? Put that as another level. Or as a slicer.
- AnonymousNot applicable
Thanks...If I was simply looking for that, a matrix would suffice I agree. I'm using this measure in other places for other reasons, so putting a visual up to see the items doesn't solve all my issues, thus the need for a measure.
- v-eachen-msft
Community Support
Hi Anonymous ,
Earlier() function is used in calculated column, measure doesn't support it.
You could use ALLEXCEPT() or MAX() function to complete your DAX.
- AnonymousNot applicable
Hi,
thanks for the feedback...the above code is working as today as a measure...
I tried the "ALLEXCEPT", but couldn't get it to work, I'm betting it's a sytanx issue. I'll look at MAX as well to see if that works.
- AnonymousNot applicable
so....in the end I figured out the solution, in case anyone else searches for this.
Namely I learned that Filter can take multiple criteria, despite the syntax definition implying 1. 2 ways to solve:
1. FIND(TABLE, AND( criteria 1, criteria 2))
2. FIND( TABLE, criteria1 && criteria2 )
Key notes...answer 1, the AND function takes only 2 criteria, so you can't do 3+. Answer 2, you can cascade the && to make multiple criteria past the first 2.
Credit here for where I found the solution:
https://blog.westmonroepartners.com/favorite-quick-easy-dax-multiple-filter-criteria/
In the end I needed to have EARLIER in the inner loop for each condition, to select correctly. Measure works beautifully....