Forum Discussion

Rich2852's avatar
Rich2852
Frequent Visitor
7 years ago
Solved

Apply an OR filter when using a slicer

I have a matrix table that I want to filter based on a date slicer on a set of customers. However, I have another field that if its null/blank I would like the filter to not touch regardless of the date on the filter. 

 

For example 

 

ID         Val               DateField

1            3                   2007-01-01

2            2                  2005-01-01

3            2                  2001-01-01

4                                1999-01-01

 

If I have a DateField slicer and I set it to  2004-12-31 I'd like the following results:

 

ID         Val               DateField

1            3                   2007-01-01

2            2                  2005-01-01

4                                1999-01-01

 

ID1 is selected because the DateField is greater than the selected date 

ID2 is selected because the DateField is greater than the selected date 

ID4 is selected not because the datefield is greater but because the Val field is blank.

 

I'm basically requiring an OR statement on the slicer. 

Any ideas?

 

  • Hi Rich2852

    You could create a date table, then edit relationship with your data table, next add the "date" column to a slicer

    Table = CALENDARAUTO()

     

     

    2. create a measure in your data table, then add this measure to the Visula level filter and set "show data when value equal: 1".

    Measure = IF(MAX([DateField])>SELECTEDVALUE('Table'[Date])||MAX([Val])=BLANK(),1,0)

     

     

    Best Regards

    Maggie

1 Reply

  • v-juanli-msft's avatar
    v-juanli-msft
    Community Support

    Hi Rich2852

    You could create a date table, then edit relationship with your data table, next add the "date" column to a slicer

    Table = CALENDARAUTO()

     

     

    2. create a measure in your data table, then add this measure to the Visula level filter and set "show data when value equal: 1".

    Measure = IF(MAX([DateField])>SELECTEDVALUE('Table'[Date])||MAX([Val])=BLANK(),1,0)

     

     

    Best Regards

    Maggie