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

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