Leveling Rules for Elements

  1. The ability to qualify a cube name by one or more of <data_source>, <catalog_name>, or <schema_name> is optional. Consumers can check the value of the property MDPROP_MDX_OBJQUALIFICATION to see whether a provider supports cube qualification.

  2. The ability to qualify a dimension name by a cube name is optional. Consumers can check the value of the property MDPROP_MDX_OBJQUALIFICATION to see whether a provider supports dimension qualification.

  3. The ability to qualify a hierarchy name by a dimension name or by cube name and dimension name is optional. Consumers can check the value of the property MDPROP_MDX_OBJQUALIFICATION to see whether a provider supports hierarchy qualification.

  4. The provider need support only one of the two productions for <level>. If it supports
    <level> ::= [<dim_hier>.] <identifier> 
    

    then the ability to qualify by <dim_hier> is optional.

    Consumers can check the value of the property MDPROP_NAMED_LEVELS to see if the provider supports named levels. If it does, then the consumer can check MDPROP_MDX_OBJQUALIFICATION to see whether named levels can be qualified by <dim_hier>.

  5. The ability to qualify a member by a level, a member, or <dim_hier> is optional. Consumers can check the value of the property MDPROP_MDX_OBJQUALIFICATION to see whether a provider supports member qualification.

Note   Several leveling rules above make it optional to qualify multidimensional schema object names. However, this does not imply that the ability to generate unique names for members, levels, dimensions, and hierarchies is optional. Providers are required to furnish unique names in the schema rowsets for these objects. If providers generate unique names by means other than qualification, then the ability to qualify is optional. For more information, see “Provider Implementation Considerations for Unique Names” in Chapter 2.