Specifying the Contents of a Slicer Dimension

Analysis Services

Analysis Services

Specifying the Contents of a Slicer Dimension

Slicer dimensions filter multidimensional data. You can use them to limit the data returned by including them in the WHERE clause of a Multidimensional Expressions (MDX) query.

Dimensions that are not explicitly assigned to an axis are assumed to be slicer dimensions and filter with their default members. The default member of a dimension can be explicitly specified in its Default Member property in Analysis Manager. This property is equivalent to the DefaultMember property in Decision Support Objects (DSO). If no default member is explicitly specified, the default member is the All member if an (All) level exists, or else an arbitrary member of the highest level. (The name of the All member is not necessarily All.)

Slicer dimensions can also be specified explicitly by using the WHERE clause of the MDX syntax. The breakdown of the WHERE clause syntax is:

[WHERE [<slicer_specification>]]

The member name [All] will probably not be unique within the cube, because many dimensions possess an [All] level. It is recommended that you qualify it with the dimension name to make it unambiguous. The following example demonstrates the use of the WHERE clause and the All member:

WHERE ( [Route].[All], [Time].[1st half] )

A slicer dimension can accept only expressions that evaluate into a single tuple. This does not mean that only a single tuple can be explicitly stated in the slicer dimension, as the following example shows:

WHERE ( [Time].[1st half], [Route].[nonground] )

If a set of tuples is supplied as the slicer expression, MDX will attempt to evaluate the set, aggregating the result cells in every tuple along the set. In other words, MDX will attempt to use the Aggregate function on the set, aggregating each measure by its associated aggregation function. The following examples show a valid WHERE clause using a set of tuples:

WHERE { ([Time].[1st half], [Route].[nonground]), ([Time].[1st half], [Route].[ground]) }

If the «slicer_specification» cannot be resolved into a single tuple, an error will occur.

For more information about the Aggregate function, see Aggregate.