Browsing Members

To browse members, use IDBSchemaRowset::GetRowset to ask for the MEMBERS rowset. This rowset straddles the line between data and metadata. There can be a lot of members in a dimension, so this rowset is too big to be considered metadata. On the other hand, the list of members is reasonably static, a characteristic usually associated with metadata.

Note   Due to the potentially large number of members on a dimension, materializing a MEMBERS rowset without any restrictions (or restricted only up to the dimension name) may take a while to be returned. Therefore, consumers should be judicious in asking for a MEMBERS rowset without any restrictions.

There is another distinctive characteristic of the MEMBERS rowset: Its structure varies depending on the parent level. This schema rowset contains the list of member names as well as property values for each member, with each property being a column. Because the list of properties varies based on the level that the member belongs to, the structure of the rowset also varies similarly. All of this assumes that the provider supports named levels. For a description of what happens when the provider does not support named levels, see “Named and Unnamed Levels.”

Using restrictions, the consumer can query for the children, parent, ancestors, descendants, and siblings of a given member. For a complete description of restrictions on the MEMBERS rowset, see “MEMBERS Rowset” in Chapter 4.