MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 22: OLE DB for OLAP Objects and Schema Rowsets
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:
|
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."