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 Complex Member Relationships.

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.

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; therefore, applications should not attempt to cache the MEMBERS schema rowset. 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. For more information about the DIMENSION PROPERTIES clause, see Retrieving Member Properties.