Forum Discussion
Button Slicer - State disabled
Hi folks,
as of my understanding, the button slicer used with month names has the option of greying out buttons, that don't appear yet (e.g. in my example the months october to december for the year 2025 should be in grey and not clickable). I tried multiple experiments by changing the state of all buttons to disabled, unfortunately it doesn't work. Does somebody know how to solve this?
Thank you!
For fellow travellers out there:
Greyed out categories are now possible in the button slicer since the october Power BI update (Power BI October 2025 Feature Summary | Microsoft Power BI-Blog | Microsoft Power BI).
Therefore I have a solution since today!
Thanks v-nmadadi-msft srlabhe and MasonMA for the contributions!
15 Replies
- LED_GeneralAdvocate I
For fellow travellers out there:
Greyed out categories are now possible in the button slicer since the october Power BI update (Power BI October 2025 Feature Summary | Microsoft Power BI-Blog | Microsoft Power BI).
Therefore I have a solution since today!
Thanks v-nmadadi-msft srlabhe and MasonMA for the contributions!
- MasonMASuper User
Hi,
In my understanding Slicer is simply showing values based on what’s in the field you drop in. I've not seen a property for 'disable if no data' like you might see in some custom visuals.In your situation, i'd just use a Measure to restrict what's to be shown in the slicer based on if there's data in your fact table, set to 1 on visual-level filter for this Slicer.
INT(NOT(ISEMPTY('Table'))) - srlabheSuper UserKindly try below altenative workaround for same 🙂in Power BI, the most effective way to grey out and disable future month buttons in a slicer is to use a filter based on a DAX measure, not by attempting to disable the visual's buttons directly. The standard Button Slicer visual does not have an option to disable specific items.Here is the step-by-step method to achieve this effect:Step 1: Create a calendar or date tableFirst, you need a dedicated date table for your report. If you do not have one, you can create one using DAX.dax
Date Table = CALENDAR(MIN(YourFactTable[Date]), TODAY())This formula generates a calendar that goes from the earliest date in your data up to the current date, which automatically excludes all future dates. You can also expand this table with columns for the month and year.Step 2: Create a measure to identify past and present monthsYou will need a measure that evaluates whether a month and year are in the past or present. In your date table, add a new calculated column for the month and year, for example, Year_Month_Text.daxYear_Month_Text = FORMAT('Date Table'[Date], "yyyy-mm")Next, create a DAX measure to act as your filter.daxIsPastOrCurrentMonth = VAR LastMonthInDataset = MAXX(ALL('Date Table'), 'Date Table'[Date]) RETURN IF( MAX('Date Table'[Date]) <= LastMonthInDataset, 1, 0 )This measure checks if the month is less than or equal to the last month with data, which effectively prevents selecting future months.Step 3: Apply the measure to the slicer visualUse the measure created in the previous step to control what is displayed in the slicer.- Add your Year_Month_Text column to a Slicer visual.
- Drag your IsPastOrCurrentMonth measure into the "Filters on this visual" section of the filter pane for that slicer.
- Set the filter condition to "is equal to 1" and click "Apply filter."
Step 4: Add conditional formatting for the greyed-out appearanceTo achieve the greyed-out appearance, you can use conditional formatting on the button's background and font color.- Create a measure that returns a specific color for future dates.
daxFutureMonthColor = IF( MONTH(MAX('Date Table'[Date])) > MONTH(TODAY()) || YEAR(MAX('Date Table'[Date])) > YEAR(TODAY()), "#D3D3D3", // Light grey for disabled buttons "#FFFFFF" // White for active buttons )- Select your slicer, go to the Format your visual pane, and expand the Buttons section.
- For State, choose the "Disabled" state.
- For Fill or Font color, select the conditional formatting option (fx) and apply the FutureMonthColor measure.
This technique uses a DAX filter and conditional formatting to simulate disabled buttons. This will visually indicate which months are selectable and automatically prevent future months from being chosen.- LED_GeneralAdvocate I
Thank you very much for your detailed answer! I'm quite sure this workaround could do the trick.
However at the Fabcon 2025 in Vienna an official solution with the button slicer was presented and I am trying to achieve that.- MasonMASuper User
Can you share the slide used at Fabcon that shows this feature?
- v-nmadadi-msftCommunity Support
Hi LED_General ,
Thanks for reaching out to the Microsoft fabric community forum.
If you want October–December 2025 to look disabled, the common workaround is to introduce a status column in your date/month table For ex:Month
Status
January
1
February
1
September
0
To make future months effectively unclickable, filter your slicer to only include Status= 1. Alternatively, the workaround mentioned by srlabhe will also do the trick.
I hope this information helps. Please do let us know if you have any further queries.
Thank you- LED_GeneralAdvocate I
Hello and thanks for your answer!
Unfortunately including the status = 1 effectively makes the future months disappear. They should however appear, but not be clickable.
- v-nmadadi-msftCommunity Support
Hi LED_General
I wanted to check if you had the opportunity to review the information provided. Please feel free to contact us if you have any further questions.
Thank you. - v-nmadadi-msftCommunity Support
Hi LED_General
May I check if this issue has been resolved? If not, Please feel free to contact us if you have any further questions.
Thank you - v-nmadadi-msftCommunity Support
Hi LED_General ,
As we haven’t heard back from you, we wanted to kindly follow up to check if the suggestions provided by the community members for the issue worked. Please feel free to contact us if you have any further questions.
Thanks and regards