FIX: MSOLAP 8.0 Provider Returns Invalid Property Values for Non-Leaf Members (295446)



The information in this article applies to:

  • Microsoft SQL Server 2000 Analysis Services

This article was previously published under Q295446
BUG #: 12004 (Plato7.x)

SYMPTOMS

If a member property is defined with the same name for two or more levels, and the member property is requested for a non-leaf level member in the dimension, the property may return an invalid or empty value.

For example, the Key member property is automatically defined for all levels of a dimension in Analysis Services 2000. If the following MDX statement is run on the Sales cube in the Foodmart 2000 sample database, the [Customers].[Key] property is returned as [Customers].[City].[Key] and has no value, instead of showing the name of the selected city:
Select
Measures.members on columns,
{ Descendants(  [Customers].[All Customers].[USA].[WA], 
[Customers].[City]) }  Properties  [Customers].[Key]  on rows
From Sales
				

CAUSE

When the level is not explicitly stated in the Properties clause of the MDX statement, the provider attempts to return the member property for the lowest level of the dimension, instead of the member property for the level of the current member.

RESOLUTION

To resolve this problem, obtain the latest service pack for the Microsoft SQL Server 2000 (the Analysis Services Components - Sql2kasp1.exe). For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 INF: How to Obtain the Latest SQL Server 2000 Service Pack

WORKAROUND

One workaround for this problem is to explicitly include the level in the Properties clause of the MDX statement. In the example above, using [Customers].[City].[Key] instead of [Customers].[Key] returns the correct value for the Key member property. However, this workaround is limited in that it will not work if your query requests members from several levels.

Another workaround is to use the MSOLAP 7.0 OLE DB Provider. This provider returns the member property of the current member, regardless of the level at which it resides. The only limitation with using this provider is that it is unable to work with cubes that implement features specific to Analysis Services 2000.

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000 Analysis Services version 8.0. This problem was first corrected in the Analysis Services Components of Microsoft SQL Server 2000 Service Pack 1.

Modification Type:MinorLast Reviewed:4/24/2003
Keywords:kbBug kbfix kbssas800sp1fix KB295446 kbAudDeveloper