Understanding Slicer and Filter precedence
When there are multiple filter elements (filters or slicers) for the same hierarchy, they need to be resolved by choosing one over the other. Filter elements are applied starting from the outermost filter element and working inwards. However an inner filter element may "override" the outer filter element and be used as the base filter for all subsequent inner filter elements.
¤ Note When resolving conflicts, the following rules determine if a filter element overrides the outer filter. If the elements are at the same level (e.g. a slicer and filter of an analysis) these rules also determine which is used. |
Conflict Resolution for Filter Element Types
Print Filter
A print filter is:
Filters/recipient slicer in publication rules
Filters/slicer in a report pack
Print filters take precedence over any other filter element type.
If there are print filters at different levels, the outer most is used.
If there are slicers and filters at the same level, the slicer will be used.
Time Context Filter
A time context filter is a function that has a time context member placeholder (e.g. Context Period, Total to Date, Periods To).
If the inner most slicer/filter requires a time context it will override any outer filter element except for print filters.
¤ Note Even though the time context filter overrides the outer slicer, the context is determined by the outer slicer. |
Member Selection
Member selections (i.e. chart segment or analysis cell selections) take precedence over any outer filter (including outer member selections).
Slicer
Outer filter elements will always override slicers.
Slicers will never override any outer filters and are shown as disabled in that case.
When there is a slicer and a filter at the same level, the slicer will override the filter.
Filter Placeholder
A filter placeholder element will never override any outer filters.
It also will be overridden by other filter types at the same level.
Techniques to avoid conflict behaviour
These rules are based on the most common desired filters to used based on our experience of how users typically want the combines elements to behave. In some cases you will want different behavior. The following is a list of examples of how to achieve different behavior
Explicitly Ignore a filters from an outer level
Sometimes there is a filter on an outer level (e.g. dashboard) which you don't want to apply to measures in an inner level (e.g. an analysis).
In the report, update the measures so that they are tuple with thee All member form that hierarchy.
Use a resource slicer at the same time as a dashboard slicer
By default, the dashboard filter element will override the resource slicer and will be shown as disabled. If you want the resource slicer to behave as an additional slicer
Use a different attribute/hierarchy from the same dimension with the same members. If this doesn't exist, then you will need to create one in the model pipeline.
Use the new hierarchy on the report