Microsoft KB Archive/322677

= BUG: You Receive an Error Message If the Member Caption Is Different from the Member Name =

Article ID: 322677

Article Last Modified on 2/21/2007

-

APPLIES TO


 * Microsoft SQL Server 2000 Analysis Services

-



This article was previously published under Q322677



BUG #: Plato7x 12838



SYMPTOMS
When you run a Multidimensional Expressions (MDX) query that references dimension properties, you receive an error message that is similar to the following one:

Unable to open cellset

Dimension property 'store.[store name].[store manager]' was not found



CAUSE
This problem occurs because the property is being referenced by the name of the property instead of the caption of the property.



WORKAROUND
To work around this problem, when you run MDX queries that are expected to return member properties, reference the member properties by using the caption of the property.



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.



MORE INFORMATION
The Backus-Naur form (BNF) specification for the SELECT (OLAP) statement in SQL Server Books Online indicates the following syntax for a SELECT statement: BNF for SELECT (OLAP) ::= [WITH  [...]] SELECT [ [, ...]] FROM  [WHERE ] []

 ::= <member_specification>
 * <set_specification>
 * <cache_specification>

<member_specification> ::= MEMBER <parent_of_member>.<member_name> AS '<value_expression>' [, <solve_order_specification>] [, <member_property_definition>...]

<solve_order_specification> ::= SOLVE_ORDER = <unsigned_integer> <member_property_definition> ::= <member_property_name> = <value_expression> <set_specification> ::= SET <set_name> AS ' ' <cache_specification> ::= CACHE AS '( [, ])' <axis_specification> ::= [NON EMPTY] [<dim_props>] ON <axis_name> ::= member:member
 * <set_value_expression>
 * { | [, | ...]}

<axis_name> ::= COLUMNS | ROWS | PAGES | SECTIONS | CHAPTERS | AXIS <dim_props> ::= [DIMENSION] PROPERTIES [, ...] ::= <dimension_property> | <level_property> | <member_property> <dimension_property> ::= <dimension_name>.ID | <dimension_name>.KEY | <dimension_name>.NAME

<level_property> ::= [<dimension_name>.]<level_name>.ID
 * [<dimension_name>.]<level_name>.KEY
 * [<dimension_name>.]<level_name>.NAME

<member_property> ::= <level_name>.<member_property_name> <cube_specification> ::= <cube_name> <slicer_specification> ::= <cell_props> ::= [CELL] PROPERTIES <cell_property> [, <cell_property>...]

<cell_property> ::= <mandatory_cell_property>
 * <optional_cell_property>
 * <provider_specific_cell_property>

<mandatory_cell_property> ::= CELL_ORDINAL | VALUE | FORMATTED_VALUE <optional_cell_property> ::= FORMAT_STRING | FORE_COLOR | BACK_COLOR | FONT_NAME | FONT_SIZE | FONT_FLAGS <provider_specific_cell_property> ::= The following BNF for SELECT (OLAP) more accurately indicates the syntax for an MDX SELECT statement: BNF for SELECT (OLAP)<select_statement> ::= [WITH <single_formula_specification> [<single_formula_specification>...]] SELECT [<axis_specification> [, <axis_specification>...]] FROM <cube_specification> [WHERE <slicer_specification>] [<cell_props>]

<single_formula_specification> ::= <member_specification>
 * <set_specification>
 * <cache_specification>

<member_specification> ::= MEMBER <parent_of_member>.<member_name> AS '<value_expression>' [, <solve_order_specification>] [, <member_property_definition>...]

<solve_order_specification> ::= SOLVE_ORDER = <unsigned_integer> <member_property_definition> ::= <member_property_name> = <value_expression> <set_specification> ::= SET <set_name> AS ' ' <cache_specification> ::= CACHE AS '( [, ])' <axis_specification> ::= [NON EMPTY] [<dim_props>] ON <axis_name> ::= member:member
 * <set_value_expression>
 * { | [, | ...]}

<axis_name> ::= COLUMNS | ROWS | PAGES | SECTIONS | CHAPTERS | AXIS <dim_props> ::= [DIMENSION] PROPERTIES [, ...] ::= <dimension_property> | <level_property> | <member_property> <dimension_property> ::= <dimension_name>.ID | <dimension_name>.KEY | <dimension_name>.NAME

<level_property> ::= [<dimension_name>.]<level_name>.ID
 * [<dimension_name>.]<level_name>.KEY
 * [<dimension_name>.]<level_name>.NAME

<member_property> ::= <level_name>.<member_property_caption> <cube_specification> ::= <cube_name> <slicer_specification> ::= <cell_props> ::= [CELL] PROPERTIES <cell_property> [, <cell_property>...]

<cell_property> ::= <mandatory_cell_property>
 * <optional_cell_property>
 * <provider_specific_cell_property>

<mandatory_cell_property> ::= CELL_ORDINAL | VALUE | FORMATTED_VALUE <optional_cell_property> ::= FORMAT_STRING | FORE_COLOR | BACK_COLOR | FONT_NAME | FONT_SIZE | FONT_FLAGS <provider_specific_cell_property> ::=

Steps to Reproduce the Problem
<ol> <li>Edit the Store dimension in FoodMart 2000.</li> <li>Add a new member property to the Store Name level. Use the Store_Manager column from the relational source.</li> <li>Set the name of the new member to [Store Manager 1].</li> <li>Set the caption of the new member to [Store Manager 5].</li> <li>Fully reprocess the Store dimension.</li> <li>Run a full process of the Sales cube.</li> <li> Run the MDX Sample Application, connect to the FoodMart 2000 database, and then run the following MDX query: SELECT Store.[Store Name].Members Dimension Properties Store.[Store Name].[Store Manager 5] on 0 From Sales A result set is returned. </li> <li> Run the following MDX query: SELECT Store.[Store Name].Members Dimension Properties Store.[Store Name].[Store Manager 1] on 0 From Sales The following error message is returned:

Unable to open cellset

Dimension property 'Store.[Store Name].[Store Manager 1]' was not found

</li></ol>

Additional query words: MDX select member properties

Keywords: kbbug kbnofix KB322677

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.