Forum Discussion
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.
- Anonymous2 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
- lbendlin
Super User
A range slicer can only be fed by a single column.
- AnonymousNot 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.