Generated using Microsoft Designer (first attempt only) |
Deciding whether to give users slicers or filters to interact with data in a Power BI report is more than a design or style decision. How users filter data affects the user experience in many ways, including performance and predictability of behavior. As a Power BI expert, you should be able to make informed recommendations and explain the tradeoffs.
In this article, I will help you compare slicers and filters based on objective and subjective criteria, and suggest some best practices for using them effectively. Learn how to choose the right option for your data and your users.
Criteria | Slicer | Filter |
---|---|---|
Type of data | Field Parameters, tables that exist to drive UI behavior, something that is forced to always have one value selected | Reporting data |
Distinct values | Small number of distinct values | Any number of distinct values |
Scope of filter | Selected pages containing that slicer (which may be hidden on the interface), selected objects on the page with the slicer | Whole Report, one Page, one Object (including slicers, ironically) |
Appearance |
|
|
Interface footprint |
|
|
Effect when filtering |
|
|
Performance | Each slicer generates its own query when viewing lists of values, which can add to overall calculation times | No performance impact based on number of filters included |
Behavior options |
|
|
Nested values from adding multiple fields to slicer |
More tips for using slicers and filters effectively
- Choose report filters when you want to apply a selection to the whole report. Whether slicers are filtering pages when the slicer is not visible is ambiguous to users (and developers who may be maintaining the solution).
- Avoid using the same field as both a slicer and a filter, which can generate confusing results when the selections conflict.
- Use the dropdown option for slicers to improve performance. This will prevent unnecessary queries from running until you view the values. You can also find more settings to optimize queries on the Optimize ribbon.
Why to use filters for reporting data (usually)
The biggest reason I encounter that people want to use slicers to
filter regular reporting data is that they don't want to have to teach users
to get accustomed to the filter pane. This is shortsighted thinking.
- If you have too many filters to fit on the page as slicers, they will have to learn to use the filter pane, anyway.
- If using Power BI will be a semi-regular occurrence, and you're not building the only solution they'll ever use, they will have to learn to use the filter pane, anyway.
Think of a slicer as a way
to visualize the list of available values in a field. Do you need to
display the field’s discrete values? If not, use a filter instead and save space for other visuals.