How to Set Default Date Filter in Power BI
Nothing is more frustrating than opening a Power BI report and seeing data from last July when you just need to know what happened yesterday. Manually resetting the date slicer every single time is a small but constant annoyance that kills your momentum. This article will show you how to set a default date filter in your reports so they always open with the most relevant, up-to-date information.
Why Bother with a Default Date Filter?
Setting a default date range might seem like a minor tweak, but it dramatically improves the user experience for everyone who opens your report. It’s about building smarter, more intuitive dashboards that respect your team's time.
Here’s why it’s worth the few extra minutes of setup:
- Saves Time and Clicks: For daily or weekly reports, automatically showing the correct period saves every user from having to adjust the date filter every single time they open it. These seconds add up fast.
- Ensures Consistency: It creates a standardized starting point for analysis. When everyone on your team opens the report and sees the same "Last 30 Days" view, it ensures you’re all starting from the same page, which reduces confusion.
- Reduces Errors: An unsuspecting user might glance at a report showing an old date range and draw the wrong conclusions. Setting a sensible default ensures the first impression is always based on relevant, current data.
- Better First Impression: A report that opens up to the data you actually care about immediately feels more professional and thoughtfully designed. It’s a simple touch that signals you’ve considered the needs of your audience.
The Simplest Method: The Relative Date Filter
The easiest and most common way to set a default date range is by using Power BI’s built-in "Relative Date" filter. This filter is dynamic, meaning it automatically updates based on the current date. For example, a filter for "the last 30 days" will show January 2nd to January 31st today, and January 3rd to February 1st tomorrow, without you having to change a thing.
This method is perfect for reports where the focus is on recent performance - like daily sales dashboards, weekly marketing campaign trackers, or monthly web traffic reports.
Step-by-Step Guide to Setting a Relative Date Filter
Let's walk through setting up a report to always default to showing data for the current month. Before you begin, you need a proper Date column in your data model that is formatted as a date type.
Step 1: Open the Filters Pane and Add Your Date Field
First, make sure no visuals are selected on your report canvas by clicking on the blank background. Then, open the Filters pane on the right side of the Power BI window. Find your date table (e.g., ‘Calendar’) and drag your primary date column (e.g., ‘Date’) into the "Filters on all pages" well. Dropping it here ensures the filter applies to the entire report as soon as it’s opened.
Note: If you only want the default to apply to the current page, and not all pages, drag the date field to the "Filters on this page" well instead.
Step 2: Change the Filter Type to "Relative Date"
Once you’ve added the date field to the filter well, it will likely default to "Basic filtering," which shows a list of dates. Click on the dropdown menu under "Filter type" and select Relative Date.
Step 3: Configure Your Desired Default Range
Now you'll see a new set of options. This is where you define your default view. The "Show items when the value" dropdown has three main options:
- Is in the last: Use this for rolling periods like the last 7, 30, or 90 days.
- Is in this: This is perfect for calendar periods like this week, this month, this quarter, or this year.
- Is in the next: Useful for forecasting or looking at future events, like the next 14 days.
To have the report show the current month by default, set the controls to:
- Show items when the value: is in this
- Middle dropdown: month
Do not check the "Include today" box if you want the full calendar period. When you're done, click the "Apply filter" button if it appears.
Step 4: Hide and Lock the Filter (Optional but Recommended)
To make this a true "default" that the user doesn’t see, you can hide the filter. Hover over the filter card in the Filters pane and click the eye icon. This hides it from the report viewers, so they can’t see or change this specific filter. You may also want to lock it by clicking the padlock icon to prevent it from being changed in the future by accident.
Users can still use another, separate date slicer on the page to change the dates if they need to. The hidden relative date filter simply sets the initial state when the report is first loaded.
Step 5: Save and Publish
Finally, save your report file (.pbix) and publish it to the Power BI service. Now, whenever anyone opens the published report, it will automatically show the data for the current month.
Advanced Method: Setting Complex Defaults with a DAX Flag
The relative date filter is great, but what if your business defines "default" differently? Maybe you need to show the "Last Full Month" or a "Rolling 13 Weeks." For these custom scenarios, a simple DAX calculated column provides much more flexibility.
The strategy is to create a new column in your Date table that "flags" or categorizes each date. Then you can use this new column as a default filter.
Example: Defaulting to the "Last 30 Days"
Let's create a DAX column to categorize dates such as "Last 30 Days," "This Month," and then set "Last 30 Days" as our default filter.
Step 1: Create a Calculated Column in Your Date Table
Navigate to the "Data View" in Power BI, select your Date table, and click "New Column." Enter the following DAX formula:
Date Period Flag =
SWITCH(
TRUE(),
'Calendar'[Date] > TODAY() - 30 && 'Calendar'[Date] <= TODAY(), "Last 30 Days",
'Calendar'[Date] >= DATE(YEAR(TODAY()), MONTH(TODAY()), 1) && 'Calendar'[Date] <= EOMONTH(TODAY(), 0), "This Month",
'Calendar'[Date] >= DATE(YEAR(TODAY())-1, 1, 1) && 'Calendar'[Date] <= EOMONTH(DATE(YEAR(TODAY())-1, 12, 31), 0), "Last Year",
"Other"
)Here’s a quick breakdown of the formula:
- SWITCH(TRUE(), ...): This is an efficient way to write a series of if-then-else statements. It checks each condition in order until it finds one that is true.
- ... "Last 30 Days": This condition checks if a date falls between today and 30 days ago.
- ... "This Month": This checks if a date is within the current calendar month.
- "Other": If none of the conditions are met, the date is labeled "Other." This is our catch-all category.
Step 2: Add the DAX Column to the Filter Pane
Return to the "Report View." Just like before, make sure no visuals are selected and drag your new Date Period Flag column into the "Filters on all pages" well in the Filters pane.
Step 3: Set The Filter to Your Desired Default Category
By default, it will be a "Basic filtering" type, showing all the values you defined ("Last 30 Days," "This Month," "Last Year," etc.). Simply check the box next to the value you want to be your default. In this case, we'll select "Last 30 Days".
Just like with the relative filter method, you can (and should) hide this filter by clicking the eye icon so the end-user doesn't see it. This sets the background context for the report without cluttering the view.
Step 4: Add a User-Facing Slicer
A crucial final step for this method is to add a regular date slicer on the report canvas for your users. This seems counter-intuitive, but it's important. The DAX filter you set in the background sets the initial view. A visible slicer on the page allows users to override that default and explore other date ranges easily. Without a slicer, they’d be permanently stuck in the "Last 30 Days" view.
Final Finishing Touches for a Better User Experience
- Use Dynamic Titles: Make your report titles reflect the selected date range. Create a DAX measure like
Chart Title = "Sales from " & FORMAT(MIN('Calendar'[Date]), "Short Date") & " to " & FORMAT(MAX('Calendar'[Date]), "Short Date")and use it in your visual titles. This helps users confirm what they’re looking at. - Add a "Reset" Button: Give users an easy way to get back to the default view. You can add a Bookmark button that resets the filters on the page to their original state.
- Tell Users What to Expect: Consider adding a small text box or title note that says, "Report defaults to the last 30 days. Use the slicer to select a different date range." This simple communication prevents any confusion.
Final Thoughts
Setting a default date filter is a small change that offers a huge return in usability. Whether you use the simple relative date filter or a more flexible DAX column, you’re creating a better, more intuitive experience for your audience and ensuring they always see the most relevant data first.
Building dashboards in tools like Power BI is incredibly powerful, but setup and maintenance can easily consume hours of your week. At Graphed we automate the entire reporting process. You can simply connect data sources like Shopify or Google Analytics and then ask questions in plain English - like, "Show me my sales and website traffic for this month." We instantly generate a live, interactive dashboard, letting you skip the DAX formulas and filter configurations so you can get straight to the insights.
Related Articles
How to Enable Data Analysis in Excel
Enable Excel's hidden data analysis tools with our step-by-step guide. Uncover trends, make forecasts, and turn raw numbers into actionable insights today!
What SEO Tools Work with Google Analytics?
Discover which SEO tools integrate seamlessly with Google Analytics to provide a comprehensive view of your site's performance. Optimize your SEO strategy now!
Looker Studio vs Metabase: Which BI Tool Actually Fits Your Team?
Looker Studio and Metabase both help you turn raw data into dashboards, but they take completely different approaches. This guide breaks down where each tool fits, what they are good at, and which one matches your actual workflow.