Back to Blog

Power BI Filters - The Practical Guide We Wish We Had Years Ago

May 29, 20269 min readMichael Ridland

Filters are the most ordinary feature in Power BI and somehow also the one that causes the most confusion in real projects. Visual filters, page filters, report-level filters, slicers, drill-through filters, the filter pane, sync slicers, top N filters, advanced filters with multiple conditions, then DAX-level filters baked into measures. There are at least eight ways to filter a Power BI report and they all look different at runtime.

When the Microsoft documentation talks about "add a filter to a report" it walks through the mechanics. Click here, drag a field there, choose your filter type. That's all fine. What it doesn't tell you is which filter to reach for in which situation, why the same dataset can give you different numbers depending on which filter you used, and why your beautifully built report falls apart the moment you publish it to the service and a business user starts changing slicer values.

I've watched a lot of Australian organisations build their first Power BI reports, and the filter question is where the wheels come off most often. Here's how I think about it.

Why filter strategy matters more than people realise

In a well-designed Power BI report, the filters are the user interface. The visuals show data, but the filters are how the user actually interacts with the report. Get the filtering wrong and the report is technically functional but practically useless.

A real example. We did a project last year for a logistics business in Queensland. The previous BI team had built a beautiful dashboard for the operations director. Maps, KPIs, trend charts, the works. The dashboard was technically excellent. But every time the director wanted to look at a specific depot, she had to scroll down to the bottom of the page, find the slicer, click into it, scroll the alphabetised list, click the depot name, then scroll back up to see the visuals. After three months she just stopped using it. She went back to running ad hoc queries against the warehouse and emailing them around.

The dashboard wasn't broken. The filter strategy was broken. We rebuilt it with sync slicers across pages, a region drill-through, and a top-level depot navigator. Same data, same visuals, completely different user experience. She uses it daily now.

The lesson is that filter design is product design. It's not a checkbox to tick at the end. We make this point a lot when we work with clients on Power BI projects, and it's one of the things that separates the developers who can build a Power BI report from the ones who can build a Power BI report someone will actually use.

The four filter levels and when to use each

Power BI has four levels at which a filter can apply, and they have a strict hierarchy.

Visual-level filters. Apply to a single visual only. Useful when you want a visual to show a different slice of data than everything else on the page. For example, a "top 10 customers by revenue" table on a page that otherwise shows all customers.

Page-level filters. Apply to every visual on a single page. Useful when a page has a clear scope - "this page is about the wholesale division" - and you want every visual to honour that scope automatically.

Report-level filters. Apply to every visual on every page in the report. Useful when the entire report has a clear scope, like "FY2026 only" or "Australia only".

Drill-through filters. Apply when the user drills through from another page. Useful for detail pages that should only ever be viewed in the context of a parent record.

The hierarchy matters because filters at higher levels constrain everything below them. A report-level filter on country = Australia means the page-level and visual-level filters can only narrow further within Australia. They can't reach outside it.

In practice, most reports I see overuse visual-level filters and underuse the others. The pattern is: a developer builds visuals one at a time, sets a filter on each visual, then ends up with 20 visuals each carrying their own filter logic. Six months later somebody asks for the date range to be extended and the developer has to remember to change it in 20 places. They miss two. The numbers don't reconcile. The trust in the report dies.

Use the highest level of filter you can get away with. Report-level for things that apply to the whole report. Page-level for things that apply to a page. Visual-level only when a specific visual genuinely needs different filtering than the rest of the page.

Slicers versus the filter pane

This is the question that comes up in every project. Should I use a slicer on the canvas or should I let users filter through the filter pane?

I have a strong opinion on this. Use slicers for the filters that you want users to see and interact with as part of the report design. Use the filter pane for everything else.

The slicer is part of the report. It's positioned, sized, formatted, and styled to make a clear statement: "this is a thing you can change". A date range slicer at the top of the page is telling the user "this report is parameterised by date, change it if you want to see a different period". That's good design.

The filter pane is a side panel that holds the filter logic you don't want cluttering the canvas. It's where you put the structural filters that exist for technical reasons (excluding null rows, removing test data, filtering by an internal flag that means nothing to the business user). It's also where you put the optional power-user filters - the dozens of dimensions a business analyst might occasionally want to slice by but that 95% of users will never touch.

Where teams get this wrong is by treating the filter pane as the default and adding slicers as an afterthought. The result is reports that look stark and unfinished, because the visual real estate isn't being used to communicate what's filterable.

Sync slicers, the unsung hero

Sync slicers are one of the most useful features in Power BI and one of the most underused. They let a single slicer on one page filter visuals on other pages too.

The reason this matters is that most real reports have multiple pages. If the user picks "FY2026" on page 1, they expect FY2026 to still apply when they click through to page 2. Without sync slicers, every page needs its own slicer and they get out of sync. The user picks FY2026 on page 1, clicks through to page 2 which is showing FY2025 because that's what they picked on page 2 last week, and now the report is contradicting itself.

Sync slicers fix this. Set them up once, the filter follows the user across pages. It's the kind of thing that's invisible when it's done right and incredibly annoying when it's not.

The catch is that sync slicers can be confusing when you want different pages to have different scope. For example, an overview page that shows the whole business and a detail page that should only ever show one division. The answer there is to set the sync slicer to "controlling but not affected" on the overview page and the inverse on the detail page. Power BI's sync slicer config makes this possible but the UI is clunky enough that most developers don't bother. Worth the effort.

Top N and the cumulative filter trap

Top N filters look easy. "Show me the top 10 customers by revenue." Drag the field in, set the filter to Top 10, off you go.

Except the Top 10 is calculated based on the data after every other filter has been applied. Which means if you also have a date filter, you're getting the top 10 customers in that specific date range. Change the date, get a different top 10. That's usually what you want.

The trap is when the user combines a Top N visual filter with a page-level slicer in a way that doesn't behave the way they expect. We've had clients raise bugs that turned out to be "the report works exactly correctly, you've just misunderstood what Top N means in this context". Worth being explicit in any report documentation about what the Top N is ranking against.

Filters versus measures

The deepest question with Power BI filters is whether the filter should live in the report at all or be baked into a measure.

If you have a measure like "Sales this year", you can build it two ways. One: use a generic Sales measure and apply a date filter at the visual level. Two: write a Sales-this-year measure in DAX with the date filter inside the measure logic.

The first approach is more flexible. The user can change the date filter and the measure adapts. The second approach is more reliable. The measure always means the same thing no matter what filters are present.

For a casual report, flexibility wins. For a board pack or a regulatory report where "Sales this year" needs to mean exactly one thing forever, reliability wins. Most reports end up being a mix - filterable measures for the exploratory part and locked-down measures for the reported KPIs at the top. This is where DAX expertise pays off and where the right data and AI strategy for the semantic model design starts to matter more than the report design itself.

The advice I'd actually give

If you're starting a Power BI report from scratch, here's the filter strategy I'd suggest.

Decide the scope of the report first. What's the broadest thing this whole report is about? Put that as a report-level filter. FY2026. Australia. Wholesale division. Whatever it is.

Decide the scope of each page. What's the page-level cut of the report scope? Put that as a page-level filter.

Identify the two or three things users will most commonly want to change. Make slicers for those. Sync them across pages. Style them clearly.

Put everything else in the filter pane. Hide the filters that exist for technical reasons. Leave the optional power-user filters visible but collapsed.

Bake the locked-down KPIs into DAX measures so they always mean the same thing.

Test the report by giving it to someone who hasn't seen it before and watching them try to find something specific. If they struggle with the filters, the filters are wrong. The visuals don't matter if the user can't get to the right slice of data.

Filters look like a small thing. They're not. They're the difference between a report that gets used and a report that doesn't. Once you internalise that, the choices about which filter to use where get a lot easier.

Reference

The original Microsoft documentation is at Add a filter to a report. If you want to talk through how this fits into a broader data and BI capability uplift, get in touch.