MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 22: OLE DB for OLAP Objects and Schema Rowsets


 

MEMBERS Rowset

The MEMBERS rowset contains information about the available members.

The default sort order is CATALOG_NAME, SCHEMA_NAME, CUBE_NAME, DIMENSION_UNIQUE_NAME, HIERARCHY_UNIQUE_NAME, LEVEL_UNIQUE_NAME, LEVEL_NUMBER, and MEMBER_ORDINAL.

The rowset has the structure described in the following table.

Column name Type indicator Description
CATALOG_NAME DBTYPE_WSTR Optional. The name of the catalog to which this member belongs. NULL if the provider does not support catalogs.
SCHEMA_NAME DBTYPE_WSTR Optional. The name of the schema to which this member belongs. NULL if the provider does not support schemas.
CUBE_NAME DBTYPE_WSTR Required. Name of the cube to which this member belongs.
DIMENSION_UNIQUE_NAME DBTYPE_WSTR Required. Unique name of the dimension to which this member belongs. For providers that generate unique names by qualification, each component of this name is delimited.
HIERARCHY_UNIQUE_NAME DBTYPE_WSTR Required. Unique name of the hierarchy. If the member belongs to more than one hierarchy, there is one row for each hierarchy to which it belongs. For providers that generate unique names by qualification, each component of this name is delimited.
LEVEL_UNIQUE_NAME DBTYPE_WSTR Required. Unique name of the level to which the member belongs. For providers that generate unique names by qualification, each component of this name is delimited.
LEVEL_NUMBER DBTYPE_UI4 Required. The distance of the member from the root of the hierarchy. The root level is zero.
MEMBER_ORDINAL DBTYPE_UI4 Required. Ordinal number of the member. Sort rank of the member when members of this dimension are sorted in their natural sort order. If providers do not have the concept of natural ordering, this should be the rank when sorted by MEMBER_NAME.
MEMBER_NAME DBTYPE_WSTR Required. Name of the member.
MEMBER_UNIQUE_NAME DBTYPE_WSTR Required. Unique name of the member. For providers that generate unique names by qualification, each component of this name is delimited.
MEMBER_TYPE DBTYPE_I4 Required. Type of the member. Can be one of the following values:
  • MDMEMBER_TYPE_REGULAR

  • MDMEMBER_TYPE_ALL

  • MDMEMBER_TYPE_FORMULA

  • MDMEMBER_TYPE_MEASURE

  • MDMEMBER_TYPE_UNKNOWN

  • MDMEMBER_TYPE_FORMULA takes precedence over MDMEMBER_TYPE_MEASURE. Therefore, if there is a formula (calculated) member on the Measures dimension, it is listed as MDMEMBER_TYPE_FORMULA.
MEMBER_GUID DBTYPE_GUID Optional. Member GUID. NULL if no GUID exists.
MEMBER_CAPTION DBTYPE_WSTR Required. A label or caption associated with the member. Used primarily for display purposes. If a caption does not exist, MEMBER_NAME is returned.
CHILDREN_CARDINALITY DBTYPE_UI4 Required. Number of children that the member has. This can be an estimate, so consumers should not rely on this to be the exact count. Providers should return the best estimate possible.
PARENT_LEVEL DBTYPE_UI4 Required. The distance of the member's parent from the root level of the hierarchy. The root level is zero.
PARENT_UNIQUE_NAME DBTYPE_WSTR Required. Unique name of the member's parent. NULL is returned for any members at the root level. For providers that generate unique names by qualification, each component of this name is delimited.
PARENT_COUNT DBTYPE_UI4 Required. Number of parents that this member has. For more information, see the section "Complex Member Relationships" in this chapter.
DESCRIPTION DBTYPE_WSTR Optional. A human-readable description of the member.

For the MEMBERS rowset columns above, a column exists for each property of the member. The type indicator depends on the PROPERTIES rowset from which the structure of these columns can be evaluated.

Applications should not attempt to cache the MEMBERS schema rowset. Typically, while all other schema rowsets are usually orders of magnitude smaller than the MEMBERS rowset, the MEMBERS rowset has hundreds of thousands of rows, and there is seldom any need for all the members. The common need is for a restricted subset of the members under certain conditions—specifically, when rendering an axis of a dataset. However, the axis rowsets are designed to contain most of the information that an application might need; that is, most of the columns in an axis rowset are the same as the columns in the MEMBERS rowset. If the application needs additional information—for example, additional columns from the MEMBERS rowset are required for those members on the axis—the application can use the DIMENSION PROPERTIES clause in the MDX statement that created the dataset. This puts these additional columns on the axis rowset.

For more information about axis rowsets, see "Axis Rowsets" in this chapter. For more information about the DIMENSION PROPERTIES clause, see "Retrieving Member Properties" in Chapter 24, "Multidimensional Expressions."