MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 23: Rowsets in OLE DB for OLAP
OLE DB for OLAP defines the following algorithm for flattening a dataset:
This rule is meaningful only when the MDX statement for Di results in members from a single hierarchy. If members from multiple hierarchies are included, the set of levels in Li is provider-dependent. For example, suppose that the Geography dimension has two hierarchies—Political and Physical. If the members Geography.Political.China and Geography.Physical.USA are both included as a result of the MDX statement for Di, the set of levels in Li is provider-dependent.
Case:
If there is a DIMENSION PROPERTIES clause in the MDX statement that created the dataset, let Pi be the list of properties specified in this clause, enclosed in [ ]. (Therefore, if DIMENSION PROPERTIES MEMBER_UNIQUE_NAME is specified, the Pi value contains the string "[MEMBER_UNIQUE_NAME]".)
Otherwise, let Pi contain the string "[MEMBER_CAPTION]".
For each element l of Li and each element p of Pi, concatenate l and p together, separated by a period (.). Let Ci be the resulting set of compound names.
Note The main idea behind a flattened rowset is that it is a quick and easy method for rowset-based consumers to display multidimensional data. Therefore, the default (without the DIMENSION PROPERTIES clause) is to return the display caption.