Power BI Slicer Defaults : Show Actual Values Dynamically - (Not Just 'Current Month / Period')

Have you encountered a situation where a Power BI report seems stuck in time, with slicers for eg: month failing to reflect the latest data? It’s a common frustration - users continue to see outdated selections, even though newer entries have arrived.

Say you shared a report in May 2025, with slicers set to Year = 2025 and Month = May. Fast-forward to July or August, and unless someone manually updates the report or changes the default slicer values, it’ll still load with May selected. The report appears "stuck in time.".

This article introduces a clean, automated way to solve that. Using a PowerBI Button Slicer and a bit of simpler DAX, we’ll dynamically highlight the latest available month -without requiring manual updates or breaking best practices.

Data Model

Here's a simplified look at the data model I'm using. Not every table is relevant for this walk-through, but the focus will be on the Calendar table (highlighted below in my model) and optionally Customer,Orders tables.

Step 1: Create a Calculated Column -Latest Month PH

We start by adding a calculated column to the Calendar table called Latest Month PH. This column helps us identify the latest month dynamically and assign it a numeric value of 100.(Assign a preferred number greater than 12 ,which is the total number of months) . Other months will keep their actual month number.

Latest Month PH = 
VAR _maxym= CALCULATE(MAX('Calendar'[YearMonth]),all())
RETURN
IF('Calendar'[YearMonth]=_maxym,100, 'Calendar'[Month Number])

Step 2: Create a Second Calculated Column -Latest Month

Next, let’s create another calculated column(‘Latest Month’ Column) to show the month name. This will help us display a more user-friendly label in the visual.

Latest Month = 
VAR _maxym= CALCULATE(MAX('Calendar'[YearMonth]),all())
RETURN
IF(
    'Calendar'[YearMonth]=_maxym,'Calendar'[Month Name] & "", 'Calendar'[Month Name])

Step 3: Setting Up the ‘Button Slicer’

  1. Add a Button Slicer to the canvas.

  1. Set the field to Latest Month PH.

  1. Under ‘Callout values’, toggle on the "Values" option / Turn off Values. The Magic will happen after this.

  1. Still within ‘Callout values’, enable the "Label" and drag in the Latest Month column.Make sure you apply this setting to both the Default and Selected states if it doesn’t display in ‘Selected’ state.

Step 4 : Testing it in action

To test this setup without waiting for a new calendar month to roll around, I created a pseudo column using Month Number& propagated using parameter This lets me simulate a new month and verify that the button updates accordingly.

Lets change Month to Latest Month using a Parameter.

At the time of writing, the latest month is June, and sure enough, the slicer now shows “June” as expected -automatically and without manual input.


💡
Previously, I used workarounds like placeholders such as "Current Month" or "Latest Month" to display the most recent month using DAX measures. While these approaches were functional, they often fell short of user expectations - especially when users preferred seeing the actual month name instead of a numeric value or generic label.

With this new approach, we achieve a dynamic and user-friendly experience by combining the flexibility of the button slicer with two lightweight calculated columns in the ‘Calendar’ table. Importantly, these additions do not significantly impact the model size, allowing us to maintain performance and follow best practices without unnecessarily bloating in the ‘Calendar’ dimension or Facts.

Feel free to share how you have tackled similar scenarios in the comments below

Thank You for Reading !!

0
Subscribe to my newsletter

Read articles from Nalaka Wanniarachchi directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nalaka Wanniarachchi
Nalaka Wanniarachchi

Nalaka Wanniarachchi is an accomplished data analytics and data engineering professional with over 18 years of experience. As a CIMA(ACMA/CGMA) UK qualified ex-banker with strong analytical skills, he transitioned into building robust data solutions. Nalaka specializes in Microsoft Fabric and Power BI, delivering advanced analytics and engineering solutions. He holds a Microsoft certification as a Fabric Analytic Engineer and Power BI Professional, combining technical expertise with a deep understanding of financial and business analytics.