Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
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.
Solved! Go to Solution.
Hi @kk1988
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.
Hi @kk1988
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.
A range slicer can only be fed by a single column.