Microsoft OLE DB 2.0 Programmers Reference and Data Access SDK (Microsoft Professional Editions)

OLE DB Programmer's Reference

The construct of elements in MDX are as follows:

<identifier> ::= <regular_identifier> | <delimited_identifier> <regular_identifier> ::= <alpha_char> [{<alpha_char> | <digit>    | <underscore>}...] <delimited_identifier> ::= <start_delimiter>{<double_end_delimiter> | <nondelimit_end_symbol>} [{<double_end_delimiter> | <nondelimit_end_symbol> }...] <end_delimiter> <start_delimiter> ::= <open_bracket> <end_delimiter> ::= <close_bracket> <double_end_delimiter> ::= <end_delimiter> <end_delimiter> <nondelimit_end_symbol> ::= !! Any character except <end_delimiter> <cube_name> ::= [ [ [ <data_source>.] <catalog_name>.] [<schema_name>.]  <identifier> <data_source> ::= <identifier> <catalog_name> ::= <identifier> <schema_name> ::= <identifier> <dim_hier> ::= [<cube_name>.]<dimension_name>  | [[<cube_name>.]< dimension_name>.]<hierarchy_name> <dimension_name> ::= <identifier>  | <member>.DIMENSION  | <level>.DIMENSION  | <hierarchy>.DIMENSION <dimension> ::= <dimension_name> <hierarchy> ::= <hierarchy_name> <hierarchy_name> ::= <identifier>  | < member>.HIERARCHY  | <level>.HIERARCHY <level> ::= [<dim_hier>.]< identifier>  | <dim_hier>.LEVELS(<index>)  | <member>.LEVEL Note   The first production is for the case when named levels are supported. The second production is for the case when named levels are not supported.

<member> ::= [<level>.]<identifier>   | <dim_hier>.<identifier>   | <member>.<identifier>   | <member_value_expression> Note   The <member>.<identifier> recognizes the fact that members may sometimes need to be qualified by their parent names. For example, "Portland" is a city in Oregon and also in Maine. So a reference to Portland will be either Oregon.Portland or Maine.Portland.

<property> ::= <mandatory_property> | <user_defined_property> <mandatory_property> ::= CATALOG_NAME   | SCHEMA_NAME   | CUBE_NAME   | DIMENSION_UNIQUE_NAME   | HIERARCHY_UNIQUE_NAME   | LEVEL_UNIQUE_NAME   | LEVEL_NUMBER   | MEMBER_UNIQUE_NAME   | MEMBER_NAME   | MEMBER_TYPE   | MEMBER_GUID   | MEMBER_CAPTION   | MEMBER_ORDINAL   | CHILDREN_CARDINALITY   | PARENT_LEVEL   | PARENT_UNIQUE_NAME   | PARENT_COUNT   | DESCRIPTION <user_defined_property> ::= <dim_hier>.<identifier>   | <level>.<identifier>   | <member>.<identifier> Note   The three productions recognize the fact that a property can apply to all the members of a dimension, to all the members of a level, or just to a member.

<tuple> ::= <member>  | (<member> [, <member>...])  | <tuple_value_expression> Note   Each member must be from a different dimension or from a different hierarchy.

<set> ::= <member>:<member> Note   Each member must be from the same hierarchy and the same level.

  | <set_value_expression>   | <open_brace>[<set>|<tuple> [, <set>|<tuple>...]]<close_brace> Note   Duplicates (if any) are always retained when specifying sets in this fashion.

  | (<set>) <open_brace> ::= { <close_brace> ::= } <open_bracket> ::= [ <close_bracket> ::= ] <underscore> ::= _ <alpha_char> ::= a | b | c | ...| z | A | B | C | ... | Z <digit> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

1998-2001 Microsoft Corporation. All rights reserved.

Категории