How to Set Default Date in Power BI Slicer

Cody Schneider9 min read

Setting a default date shouldn't feel like a chore, but in Power BI, slicers often start on the earliest possible date, forcing users to click and scroll before they even get to the relevant data. This article will show you several clear methods to set a default date range on your slicers, providing you with reports that are instantly useful and intuitive for your audience from the moment they open.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Why There Isn’t a Simple “Default Date” Button

Before we jump into the solutions, it’s helpful to understand why Power BI behaves this way. Power BI reports are designed to be dynamic and interactive. When you save and publish a report, the slicers save their last selected state. When a user opens the report and makes a new selection, the report remembers that as the new current state during their session.

This "stateful" design is powerful for data exploration but can be frustrating for standardized reporting. If a report is always meant to show performance for the “current month” or “yesterday,” users shouldn’t have to manually select that range every single time. Since there's no built-in properties pane option labeled “Set Default Slicer Value,” we need to use some smart, but simple, workarounds to create this behavior ourselves.

Common Goals for a Default Date Filter

The goal is to have your report load with a pre-filtered context that makes immediate sense. For most businesses, this means defaulting to one of the following views:

  • The Current Day (Today): Perfect for operational dashboards tracking real-time activity.
  • The Previous Day (Yesterday): The most common choice for daily performance reporting.
  • The Current Week or Month-to-Date (MTD): Ideal for tracking progress against weekly or monthly goals.
  • The Previous Month (Full Month): Used in monthly summary reports to show the complete picture of past performance.

No matter your objective, an intelligent default enhances the user experience, reduces viewer frustration, and gets your team to insights faster. Now, let’s explore the best ways to set one up.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Method 1: The Easy Way with a Relative Date Slicer

The quickest way to get a dynamic, sliding date range is to use Power BI’s built-in Relative Date slicer. This option is perfect for ranges like “Last 30 days” or “This month” without writing a single line of code.

Step-by-Step Instructions

  1. Add a Date Slicer: Drag your primary date field from your date table (or data table) onto the report canvas. By default, it will likely appear as a "between" slider.
  2. Change Slicer Type: With the slicer selected, navigate to the Visualizations pane. Click the dropdown arrow on the top-right corner of the Slicer visual header and select Relative Date.
  3. Configure the Relative Period: The slicer will transform into a user-friendly interface with three fields to configure:

Practical Examples

  • For a "Last 30 Days" default: Set the options to Last | 30 | Days.
  • For a "This Month" default: Set the options to This | 1 | Month. This automatically defines the range from the first of the current month to today.
  • For a "Previous Full Month" default: Set the options to Last | 1 | Month (Calendar). Using the "calendar" option ensures you get the full previous month (e.g., all of May) rather than the last 30/31 days from today.

Once you’ve set this, save your report. Now, whenever the report is opened, the slicer will be defaulted to this relative period, always updating based on the current date.

Pros and Cons of This Method

Pros:

  • Extremely fast and easy to set up.
  • Requires zero DAX knowledge.
  • It's intuitive for end-users to understand and modify if needed.

Cons:

  • Lacks precision for specific, static dates like "the last day of the previous month."
  • Not as flexible if you need a default value that's not easily described as "Last," "Next," or "This."

Method 2: Full Control with a DAX Calculated Column

For ultimate flexibility, the best method is to create a helper column in your date table using DAX. This approach lets you define virtually any date logic you can imagine. The concept is simple: we'll create a column that "flags" our desired default date (or dates) with a specific value, like "Yes". We can then use this flag as our default filter.

Step 1: Get Your Date Table Ready

This method works best if you have a dedicated Date Table in your data model. A Date Table is a calendar table with one row for every day. If you don’t have one, you can easily create one in Power BI using DAX:

  1. Navigate to the Data view in Power BI.
  2. Click on the Table tools tab in the ribbon, and then click New table.
  3. Enter the following DAX formula:

This creates a table with a single column containing a continuous list of dates based on your data model. After creating it, right-click the table name, select Mark as date table, and choose the date column. This tells Power BI how to handle time-based calculations properly.

GraphedGraphed

Build AI Agents for Marketing

Build virtual employees that run your go to market. Connect your data sources, deploy autonomous agents, and grow your company.

Watch Graphed demo video

Step 2: Write the DAX to Create the Default Flag

With your date table prepared, select it and click New column in the ribbon. This is where you'll enter the logic to define your default date. Below are a few common DAX formulas.

Example A: Default to a Single Day (Yesterday)

To set the default to the previous day, use this formula:

Is_Default_Yesterday = IF('Date Table'[Date] = TODAY() - 1, "Yesterday", "Other")

Example B: Default to an Entire Month (Last Month)

If you want the report to default to showing all of the previous month's data, you'll need a slightly different logic. This formula compares the year-month of each date to the year-month of last month:

Is_Default_LastMonth = VAR LastMonth = EOMONTH(TODAY(), -1) RETURN IF( FORMAT('Date Table'[Date], "YYYYMM") = FORMAT(LastMonth, "YYYYMM"), "Last Month", "Other" )

What this formula does:

  • TODAY(): Gets the current date.
  • EOMONTH(TODAY(), -1): Calculates the last day of the previous month.
  • FORMAT(... , "YYYYMM"): Converts both the dates in your table and the calculated 'Last Month' date into a YYYYMM text format (e.g., "202305").
  • IF(...): If the formats match, it flags the row as "Last Month", otherwise, "Other".

Example C: Default to a Month-to-Date (MTD) View

To show everything from the first day of the current month up to today:

Is_Default_MTD = VAR StartOfMonth = STARTOFMONTH('Date Table'[Date]) VAR CurrentYearMonth = FORMAT(TODAY(), "YYYYMM") RETURN IF( FORMAT('Date Table'[Date], "YYYYMM") = CurrentYearMonth && 'Date Table'[Date] <= TODAY(), "MTD", "Other" )

Step 3: Apply the Default Filter

Now that you have your "flagging" column, you can apply it. You have two options:

Option 1: As a Hidden Slicer on the Filters Pane

  1. Make sure you have no visuals selected, which means you're controlling filters for the entire page.
  2. Find your new calculated column (e.g., Is_Default_LastMonth) in the Data pane.
  3. Drag it onto the Filters on this page section in the Filters pane.
  4. Select the card for your filter and choose the "default" value you created (e.g., "Last Month").
  5. Click the eye icon to hide the filter so your end-users don't accidentally see or change it.

Now, your entire report page will load with this filter pre-applied. The major advantage here is you can still have a regular interactive date slicer on the page. Users will see the default view, and if they want to explore other dates, they can use the visible slicer to override the context.

Option 2: As a Visible Slicer

You could also drag your new DAX column directly onto the report canvas to create a slicer. It will show options like "Last Month" and "Other." You can select "Last Month" before publishing. While simple, this can be less intuitive for users than a familiar date range slicer.

Free PDF · the crash course

AI Agents for Marketing Crash Course

Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.

Method 3: Quick and Simple Using Bookmarks

If you prefer a visual, no-code approach, bookmarks are an excellent alternative. A bookmark saves the "state" of a report page - including its filter and slicer selections.

  1. Manually set your slicer to the date range you want as your default. For example, select yesterday's date or the last 30 days.
  2. Navigate to the View tab in the Power BI ribbon and click on Bookmarks to open the pane.
  3. Click Add. A new bookmark will appear. Rename it to something descriptive like "Daily Default View."
  4. With this new bookmark selected, decide which properties it will control. For this purpose, ensure the Data checkbox is checked. You might uncheck other properties if you only want it to control slicers.

Once your bookmark is set, you effectively have a "reset" button. You can even create an actual button on the report canvas and assign its action to a bookmark so users can return to the default view with one click. However, it won't automatically apply when the report is first opened unless it was the last state saved.

Final Thoughts

While Power BI doesn't offer a one-click "default date" property, you have a wealth of powerful options to create this behavior for yourself. You can either use the fast-and-easy Relative Date slicer for common requests or embrace the full control that a DAX calculated column provides. For any reporting need, these methods will ensure your users start with the most relevant information right away, drastically improving the utility and adoption of your dashboards.

Mastering workarounds like these is a powerful skill, but it also shows the time investment BI tools often demand to achieve simple outcomes. At Graphed, we felt this pain firsthand. Instead of debugging DAX logic or setting up bookmarks for every report, our tool lets your requests happen in plain English. Just connect your data and ask things like "show me our revenue from last month compared to this month" or "create a dashboard of this week's sales performance." We handle the technical heavy lifting, instantly creating the live reports and updated dashboards you need, so you can focus on making decisions, not on report configuration.

Related Articles