Forum Discussion

WOLFIE's avatar
WOLFIE
Icon for Helper I rankHelper I
4 years ago
Solved

Changing slicer condition to AND

Hi all,

 

I am trying to work this out for ages. I found many different solutions online, but nothing worked. It's a simple one table one slicer solution. I need to filter the ID by the selected rules in the slicer. PBI default is OR condition, but I need to change it to AND.

data:
IDRule

1a
2a
2b
3c
3a
3d
4b
4a
5b
6d
6e
7d
7e
7a
7f
7g
8d
8a
9e
10a
10d


Thanks 🙂

  • WOLFIE , Try Measure

     


    measure =
    var _cnt = calculate(DistinctCount('Table'[Rule]) ,allselected('Table'))
    return
    countx(filter(summarize('Table', 'Table'[ID], "_1", DistinctCount('Table'[Rule])),[_1]=_cnt),[ID])

     

     

    or

     

    measure =
    var _cnt = calculate(DistinctCount('Table'[Rule]) ,allselected('Table'))
    return
    calculate(countx(filter(summarize('Table', 'Table'[ID], "_1", DistinctCount('Table'[Rule])),[_1]=_cnt),[ID]), filter(allselected(Table), Table[ID] =max(Table[ID])))

  • amitchandak Quick additional question 🙂 I need the table to keep all values when nothing is selected in the slicer. I tried this, but it doesn't work:

    measure =
    VAR _cnt = CALCULATE(DISTINCTCOUNT('Customer'[Rule]) ,ALLSELECTED('Customer'))
    RETURN
    IF(ISFILTERED(Customer),
    CALCULATE(
    COUNTX(
    FILTER(
    SUMMARIZE('Customer', 'Customer'[ID], "_1",
    DISTINCTCOUNT('Customer'[Rule])),[_1]=_cnt),[ID]),
    FILTER(ALLSELECTED(Customer),'Customer'[ID] = MAX('Customer'[ID])
    )
    ),1)

4 Replies

  • WOLFIE , Try Measure

     


    measure =
    var _cnt = calculate(DistinctCount('Table'[Rule]) ,allselected('Table'))
    return
    countx(filter(summarize('Table', 'Table'[ID], "_1", DistinctCount('Table'[Rule])),[_1]=_cnt),[ID])

     

     

    or

     

    measure =
    var _cnt = calculate(DistinctCount('Table'[Rule]) ,allselected('Table'))
    return
    calculate(countx(filter(summarize('Table', 'Table'[ID], "_1", DistinctCount('Table'[Rule])),[_1]=_cnt),[ID]), filter(allselected(Table), Table[ID] =max(Table[ID])))

    • WOLFIE's avatar
      WOLFIE
      Icon for Helper I rankHelper I

      The second one works! 🙂 Thanks so much!!!

  • amitchandak Quick additional question 🙂 I need the table to keep all values when nothing is selected in the slicer. I tried this, but it doesn't work:

    measure =
    VAR _cnt = CALCULATE(DISTINCTCOUNT('Customer'[Rule]) ,ALLSELECTED('Customer'))
    RETURN
    IF(ISFILTERED(Customer),
    CALCULATE(
    COUNTX(
    FILTER(
    SUMMARIZE('Customer', 'Customer'[ID], "_1",
    DISTINCTCOUNT('Customer'[Rule])),[_1]=_cnt),[ID]),
    FILTER(ALLSELECTED(Customer),'Customer'[ID] = MAX('Customer'[ID])
    )
    ),1)