Default Hierarchy and Member
Each dimension has a default hierarchy associated with it and each hierarchy may have a default member. These defaults are used in the following scenarios:
-
A query specifies that a dimension will be positioned on one of the axes, but does not choose any members from that dimension to occur along the specified axis. For example, the Time dimension is along the x-axis, but no members have been specified. When this happens, the provider chooses a hierarchy and member as the defaults and places these defaults on the axis.
-
A query indicates that a dimension be a slicer dimension, but does not choose a member as the slicer. When this happens, the provider uses a default slicer, which yields the default member.
-
IMDCell::FindCell does not specify a member for one of the constituent dimensions of an axis. When this happens, the provider uses the default member for that dimension.
-
IMDFind::FindTuple does not specify a member for a constituent dimension on the axis. When this happens, the provider uses the default member for that dimension.
The DIMENSIONS rowset has a column called DEFAULT_HIERARCHY that indicates the default hierarchy for a dimension. The HIERARCHIES rowset has a column called DEFAULT_MEMBER that indicates the default member of the hierarchy. Also, the expressions dimension.DEFAULTMEMBER and hierarchy.DEFAULTMEMBER may be used to explicitly select the default member of a dimension or hierarchy.
Note The default member of a dimension is just the default member of the default hierarchy of that dimension.
OLE DB for OLAP does not require that every dimension of every hierarchy have a default member. Applications must check to see if a default exists before using it in an expression.