Forum Discussion
Filter a table based on multiple conditions
Hi Friends,
I need help writing this measure. Here is a sample data.
Plan Year Amt
Plan 1 2019 30
Plan 1 2020 40
Plan 1 2021 15
Plan 2 2015 20
Plan 2 2018 20
Plan 2 2020 10
I want a DAX to return me 'Plan 1' with all the columns, as Plan 1 Year 2020 met the condition Amt > 35. The output should be like this, How to do that?
- Anonymous3 years ago
Hi amit_msmba ,
I created a sample pbix file(see the attachment), please check if that is what you want. You can create the measures below to get it and apply a visual-level filter on your table visual with the condition(Flag is 1😞
Sum of Amt = SUM('Table'[Amt])Flag = VAR _plan = SELECTEDVALUE ( 'Table'[Plan] ) VAR _tab = CALCULATETABLE ( VALUES ( 'Table'[Plan] ), FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Plan] = _plan && [Sum of Amt] > 35 ) ) RETURN IF ( _plan IN _tab, 1, 0 )Best Regards
2 Replies
- vicky_
Super User
The lazy way is to just use a visual-level filter and set Sum of Amt > 35.
If you need it in DAX, try:Sum of Amt = var sumOfAmt = SUM(Amt) return IF(sumOfAmt > 35, sumOfAmt, BLANK())The BLANK() is optional, but it helps with readability in my opinion.
- AnonymousNot applicable
Hi amit_msmba ,
I created a sample pbix file(see the attachment), please check if that is what you want. You can create the measures below to get it and apply a visual-level filter on your table visual with the condition(Flag is 1😞
Sum of Amt = SUM('Table'[Amt])Flag = VAR _plan = SELECTEDVALUE ( 'Table'[Plan] ) VAR _tab = CALCULATETABLE ( VALUES ( 'Table'[Plan] ), FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Plan] = _plan && [Sum of Amt] > 35 ) ) RETURN IF ( _plan IN _tab, 1, 0 )Best Regards