Forum Discussion

S_Berg's avatar
S_Berg
Frequent Visitor
3 years ago
Solved

Filter multiple date fields with 1 slicer

I have 4 visuals showing projects in different statuses. I want to show the differet project types in a specified date range by using one slicer the user can adjust. One of the problems I am having is creating a DAX measure that makes it so one slicer can control 3 different date fields, I only want the user to have to put in their date range once.

 

The 4 visuals-

New Projects: Any project where the 'Added Date' field is between the user specified date range.

Active: Any project where the 'Status Date' field is between the user specified date range and the Finished Date field is null.

Pending Projects: Any project where the 'Status Date' field is NOT between the user specified date range and the Finished Date field is null.

Finished Projects: Any project where the 'Finished Date' field is between the user specified date range.

 

I would appreciate any help on how to accomplish this!

 

Thank you!

  • Anonymous's avatar
    Anonymous
    3 years ago

    Hi  S_Berg ,

     

    Sorry, as far as I know, it may not be possible to use only one measure to filter 4 Visual different date fields, which will cause conflicts in the conditions, you can create 4 measures and place them in different Visual settings is=1.

    Here are the steps you can follow:

    1. Create measure.

    New Projects =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Added])>=_mindate&&MAX('Table'[Added])<=_maxdate,1,0)
    ACTIVE =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Status])>=_mindate&&MAX('Table'[Added])<=_maxdate&&MAX('Table'[Finished])=BLANK(),1,0)
    Pending Projects =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Status])<_mindate|| MAX('Table'[Added])>_maxdate&&MAX('Table'[Finished])=BLANK(),1,0)
    New Projects =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Added])>=_mindate&&MAX('Table'[Added])<=_maxdate,1,0)

    2. Place the four Measures in different Visual Filters and set is=1.

    3. Result:

     

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

3 Replies

    • S_Berg's avatar
      S_Berg
      Frequent Visitor

      Hi Greg_Deckler,

       

      Thank you for your response! I want to Create a tracker like this: 

       

      Here is some sample data:

      ProjectAddedDeadlineLeadCategoryStatusFinished
      A1/10/2023 Person 1Infrastructure5/12/2023 
      B2/24/2023 Person 2Response7/5/20237/5/2023
      C2/1/20233/31/2023Person 3Customer6/23/2023

       

       

      D3/31/202311/17/2023Person 4Admin5/12/2023 

       

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi  S_Berg ,

     

    Sorry, as far as I know, it may not be possible to use only one measure to filter 4 Visual different date fields, which will cause conflicts in the conditions, you can create 4 measures and place them in different Visual settings is=1.

    Here are the steps you can follow:

    1. Create measure.

    New Projects =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Added])>=_mindate&&MAX('Table'[Added])<=_maxdate,1,0)
    ACTIVE =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Status])>=_mindate&&MAX('Table'[Added])<=_maxdate&&MAX('Table'[Finished])=BLANK(),1,0)
    Pending Projects =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Status])<_mindate|| MAX('Table'[Added])>_maxdate&&MAX('Table'[Finished])=BLANK(),1,0)
    New Projects =
    var _mindate=MINX(ALLSELECTED('Date'),'Date'[Date])
    var _maxdate=MAXX(ALLSELECTED('Date'),'Date'[Date])
    return
    IF(
        MAX('Table'[Added])>=_mindate&&MAX('Table'[Added])<=_maxdate,1,0)

    2. Place the four Measures in different Visual Filters and set is=1.

    3. Result:

     

     

    Best Regards,

    Liu Yang

    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly