(All) Level and All Member

Analysis Services

Analysis Services

(All) Level and All Member

The (All) level is a special kind of level. Its name is always (All). If a dimension contains an (All) level, the (All) level is the highest level. It contains only one member whose value is the aggregation of the values of all members in the immediately subordinate level. Because the member in the (All) level is at the top of the dimension's hierarchy, the member's value is the consolidated aggregation of the values of all members in the hierarchy.

By default all dimensions contain an (All) level. However, you can remove the (All) level except from virtual dimensions in which it is required.

The single member of the (All) level is called the All member. The All member is a system-generated member that is not contained in the dimension table. You can change the name of the All member. By default, its name is the word All followed by a space and the name of the dimension.

To add or remove the (All) level from a dimension or to change the name of the All member, use the properties pane of Dimension Editor (if the dimension is shared) or Cube Editor (if the dimension is private). Inclusion of the (All) level is controlled by the dimension's All Level property. The name of the All member is set in the dimension's All Caption property.

Whether a dimension contains an (All) level can affect queries on cubes that contain the dimension. When a query neither slices explicitly on a particular dimension nor projects that dimension on an axis, by default the query slices on the dimension's default member. If a dimension contains an (All) level, by default the default member is the All member. Slicing by the All member does not limit the retrieved data, so the query retrieves a dataset that is complete for the dimension in question. However, if the dimension does not contain an (All) level, or if a default member other than the All member is specified, the query retrieves a dataset that is incomplete for the dimension in question. (An exception is when the dimension does not contain an (All) level, but the dimension's top level contains only one member that serves as the default member. This member functions similarly to an All member insofar as it does not limit the retrieved data.) The fact that the dataset is incomplete may not be obvious to the end user who issues the query. For this reason, it is usually a good practice to retain the (All) level within a dimension especially when no default member is selected.

The default member of a dimension is specified in the Default Member property in the properties pane of Dimension Editor (if the dimension is shared) or Cube Editor (if the dimension is private). Within a dimension, a different default member can be selected for each role. For more information, see Custom Rules in Dimension Security.