Forum Discussion
Dynamic default Year Value
- 14 days ago
Hi PBI_2K26,
There isn't really a native way to make a standard Year slicer dynamically change its selected value based on TODAY().
A relative date slicer can be dynamic, but it doesn't give you the exact behaviour you're asking for: showing all years while automatically selecting the current year.
One workaround is to create a measure such as:
Current Year Flag =
IF (
MAX ( 'Date'[Year] ) = YEAR ( TODAY() ),
1,
0
)You can then use that measure as a filter for the relevant visuals, while keeping the Year slicer available for users to override it. However, the slicer itself won't visually show the current year as selected.
A bookmark can give you a default selection, but you'd have to update the bookmark when the year changes, so it isn't truly dynamic.
Hi PBI_2K26,
Power BI has no native setting that makes a slicer default to "the current year". A slicer always saves the exact value you selected when you published, such as 2026. That fixed value is also what Reset to default goes back to, so next year it would still select 2026.
The usual workaround is to select a label that moves, instead of a fixed year.
Option-1: a "Current Year" label in your Date table
- Add a calculated column to your Date table:
Year Slicer = VAR _Year = YEAR ( 'Date'[Date] ) RETURN IF ( _Year = YEAR ( TODAY () ), "Current Year", FORMAT ( _Year, "0" ) )
- Sort it in year order. Select the Year Slicer column, choose Sort by column, and pick your numeric Year column. Otherwise "Current Year" would sort alphabetically after all the numbers.
- Use Year Slicer in the slicer. Select Current Year, then save and publish.
Option-2: relative date slicer
If users only ever need the current year and don't need to pick other years, use your Date column in a slicer set to Relative date → This 1 calendar year. It moves forward automatically. However, it doesn't show a list of all years, so it doesn't fully meet your requirement.