Forum Discussion
Time in slicer
- Anonymous1 year ago
Thanks for following up. If displaying the time with a dot or colon (like 08:30 or 08.30) inside the slicer is a must, here's the best workaround given Power BI's current limitations:
You can still use the TimeInMinutes (or a decimal field) for the slicer logic, but pair it with a display column that shows the time in the format you need. Here's how you can do it:
TimeDecimal = HOUR([YourTimeColumn]) + MINUTE([YourTimeColumn]) / 60 TimeLabel = FORMAT([YourTimeColumn], "HH:mm")If your locale forces a comma in TimeDecimal, and you just need the label to show a dot or colon, create a custom label column:
TimeLabelDot = SUBSTITUTE(TimeLabel, ":", ".")Then use a custom slicer visual (like Smart Filter by OKViz or HierarchySlicer) that lets you show labels but filter using the underlying value.
Power BI's built-in slicer doesn’t support formatted display with separate logic, so using a custom visual is the most flexible option here.
Best Regards,
Hammad.
Hi tuulia,
Thanks for reaching out to the Microsoft fabric community forum.
You're right, this issue is caused by how Power BI handles time-only fields in slicers. When a column contains only time (without a date), Power BI assigns a default base date (30.12.1899), which is why you're seeing that in the slicer. Unfortunately, the "Between" slicer doesn't work well with time-only values.
The workaround by BhavinVyas3003, suggests using a decimal column (like TimeDecimal = HOUR(...) + MINUTE(...) / 60) is technically correct, but as you noticed, the decimal separator (dot vs comma) depends on your Power BI Desktop locale. Since you're not able to change the locale settings in Power BI Service or the browser, here's a practical solution:
Try creating a new column that represents time in minutes (as a whole number). This avoids decimal separators entirely and works smoothly in a "Between" slicer.
TimeInMinutes = HOUR([YourTimeColumn]) * 60 + MINUTE([YourTimeColumn])
Then, use this column in your slicer. For visuals, you can still use your original formatted time column (FORMAT([YourTimeColumn], "HH:mm")) for display.
I would also take a moment to thank BhavinVyas3003, for actively participating in the community forum and for the solutions you’ve been sharing in the community forum. Your contributions make a real difference.
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Hammad.
Community Support Team
If this post helps then please mark it as a solution, so that other members find it more quickly.
Thank you.
Thank you! Unfortunately, a dot (or a colon) must be displayed in the timepart in slicer..
- Anonymous1 year agoNot applicable
Thanks for following up. If displaying the time with a dot or colon (like 08:30 or 08.30) inside the slicer is a must, here's the best workaround given Power BI's current limitations:
You can still use the TimeInMinutes (or a decimal field) for the slicer logic, but pair it with a display column that shows the time in the format you need. Here's how you can do it:
TimeDecimal = HOUR([YourTimeColumn]) + MINUTE([YourTimeColumn]) / 60 TimeLabel = FORMAT([YourTimeColumn], "HH:mm")If your locale forces a comma in TimeDecimal, and you just need the label to show a dot or colon, create a custom label column:
TimeLabelDot = SUBSTITUTE(TimeLabel, ":", ".")Then use a custom slicer visual (like Smart Filter by OKViz or HierarchySlicer) that lets you show labels but filter using the underlying value.
Power BI's built-in slicer doesn’t support formatted display with separate logic, so using a custom visual is the most flexible option here.
Best Regards,
Hammad.
- tuulia1 year agoHelper IV
Thanks again, I'll try this option!
- Anonymous1 year agoNot applicable
Hi tuulia,
As we haven’t heard back from you, so just following up to our previous message. I'd like to confirm if you've successfully resolved this issue or if you need further help.
If yes, you are welcome to share your workaround and mark it as a solution so that other users can benefit as well. If you find a reply particularly helpful to you, you can also mark it as a solution.
If you still have any questions or need more support, please feel free to let us know. We are more than happy to continue to help you.
Thank you for your patience and look forward to hearing from you.