Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
2 years ago
Solved

Power BI Slicer for start and end date

Hi Team - I have start date and end date fields in my data set. I want to create a slicer so the user can select the date range between these dates like below. There are records where the end date is NULL as well so in that case how to solve this date range ? 

Could you please help, how this can be done ? 


My dataset is simple with ID, NAME, Description, City, Employee city, Products, Price, START DATE , END DATE.


  • Anonymous's avatar
    Anonymous
    2 years ago

    Hi Anonymous 

    Thanks for the solution lbendlin provided, and I want to offer some more information for you to refer to.

    If your end date is blank, you can consider to use the max end date for the current table, you can refer to the following solution.

    Sample data 

    1.Create a calendar table.

    Calendar = CALENDAR(MIN('Table'[Start Date]),MAX('Table'[End Date]))

    2.Create a relationship between the tables

     

    3.Create a calculated column in data table

    End Dates = IF([End Date]<>BLANK(),[End Date],MAX('Table'[End Date])) 

    4.Creat a measure

    MEASURE =
    VAR a =
        CALCULATETABLE (
            CALENDAR ( MIN ( 'Table'[Start Date] ), MAX ( 'Table'[End Dates] ) ),
            CROSSFILTER ( 'Calendar'[Date], 'Table'[Start Date], NONE )
        )
    VAR b =
        VALUES ( 'Calendar'[Date] )
    RETURN
        CALCULATE (
            IF ( COUNTROWS ( INTERSECT ( a, b ) ) > 0, SUM ( 'Table'[Price] ) ),
            CROSSFILTER ( 'Calendar'[Date], 'Table'[Start Date], NONE )
        )
    

    5.Put the date of the calendar table to the slicer.

    Output

    Best Regards!

    Yolo Zhu

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

     

     

     

     

2 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi Anonymous 

    Thanks for the solution lbendlin provided, and I want to offer some more information for you to refer to.

    If your end date is blank, you can consider to use the max end date for the current table, you can refer to the following solution.

    Sample data 

    1.Create a calendar table.

    Calendar = CALENDAR(MIN('Table'[Start Date]),MAX('Table'[End Date]))

    2.Create a relationship between the tables

     

    3.Create a calculated column in data table

    End Dates = IF([End Date]<>BLANK(),[End Date],MAX('Table'[End Date])) 

    4.Creat a measure

    MEASURE =
    VAR a =
        CALCULATETABLE (
            CALENDAR ( MIN ( 'Table'[Start Date] ), MAX ( 'Table'[End Dates] ) ),
            CROSSFILTER ( 'Calendar'[Date], 'Table'[Start Date], NONE )
        )
    VAR b =
        VALUES ( 'Calendar'[Date] )
    RETURN
        CALCULATE (
            IF ( COUNTROWS ( INTERSECT ( a, b ) ) > 0, SUM ( 'Table'[Price] ) ),
            CROSSFILTER ( 'Calendar'[Date], 'Table'[Start Date], NONE )
        )
    

    5.Put the date of the calendar table to the slicer.

    Output

    Best Regards!

    Yolo Zhu

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