Forum Discussion

Ethanhunt123's avatar
Ethanhunt123
Icon for Helper IV rankHelper IV
6 years ago
Solved

Power BI slicer OR condition

Interaction between two slicers in Power BI gives me output with AND condition Example: If I selected the year 2020 and company ABC. The output would be all the data from company ABC in the year 2020. But I want the two slicers to work with OR condition. I have used this Dax Include = (MAX(Table1[Column1]) = SELECTEDVALUE(Col1[Column1])) + (MAX(Table1[Column2]) = SELECTEDVALUE(Col2[Column2])) But the problem with above Dax I have not selected anything in slicer ( ALL by default) it is showing me blank visual.

  • Anonymous's avatar
    Anonymous
    6 years ago

    Hi Ethanhunt123,

    AFAIK, power bi use 'AND' logic to link all filters. If you want to achieve 'OR' logic, please use unconnected tables fields as the source of slicers. After these, you can extract current row contents to compare with combined selection ranges to return tag. Then you can apply this measure on your visual to filter records.

    Measure =
    IF (
        SELECTEDVALUE ( table[Column] )
            IN UNION ( ALLSELECTED ( Col1[Column] ), ALLSELECTED ( Col2[Column] ) ),
        "Y",
        "N"
    )
    

    If above not helps, please share some dummy data with the expected result to help us clarify you scenario and test coding formula on it.

    How to Get Your Question Answered Quickly 

    Regards,

    Xiaoxin Sheng

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Ethanhunt123,

    AFAIK, power bi use 'AND' logic to link all filters. If you want to achieve 'OR' logic, please use unconnected tables fields as the source of slicers. After these, you can extract current row contents to compare with combined selection ranges to return tag. Then you can apply this measure on your visual to filter records.

    Measure =
    IF (
        SELECTEDVALUE ( table[Column] )
            IN UNION ( ALLSELECTED ( Col1[Column] ), ALLSELECTED ( Col2[Column] ) ),
        "Y",
        "N"
    )
    

    If above not helps, please share some dummy data with the expected result to help us clarify you scenario and test coding formula on it.

    How to Get Your Question Answered Quickly 

    Regards,

    Xiaoxin Sheng

  • Ethanhunt123 , Try like

     

    calculate(countrows(Table), all(Table[company]),all(Table[year),filter(table,Table[company] =selectedvalue(Table[company]) || Table[year] =selectedvalue(Table[year])))

  • az38's avatar
    az38
    Icon for Community Champion rankCommunity Champion

    Ethanhunt123 

    not sure it will work but try

    CALCULATE(MAX(Table1[Column1]), FILTER(Table1, Table1[Column1] = SELECTEDVALUE(Col1[Column1])))
     + 
    CALCULATE(MAX(Table1[Column2]), FILTER(Table1, Table1[Column2] = SELECTEDVALUE(Col2[Column2])))