FIX: Combination of Order and CrossJoin Functions in MDX Causes Error (294993)



The information in this article applies to:

  • Microsoft SQL Server 2000 Analysis Services

This article was previously published under Q294993
BUG #: 12092 (Plato7.x)
BUG #: 12178 (Plato7.x)

SYMPTOMS

Attempting to use the CrossJoin function in combination with the Order function in a Multidimension Expression (MDX) statement may cause the following error message to occur:

Unable to open cellset.
An unexpected internal error has occurred.

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

Hotfix

NOTE: The following hotfix was created prior to Microsoft SQL Server 2000 Service Pack 1.

The English version of this fix should have the following file attributes or later:
   Date       Time    Version    Size        File name    
   -------------------------------------------------------

   4/5/2001   2:31p   8.0.2.80   1,733,180   Msmdsrv.exe  
   4/5/2001   2:31p   8.0.2.80     209,472   Msmdcb80.dll 
   4/5/2001   2:31p   8.0.2.80   1,360,448   Mdmdgd80.dll
   4/5/2001   2:31p   8.0.2.80   1,983,056   Msolap80.dll
   4/5/2001   2:31p   8.0.2.80     213,067   Msolap80.rll

				
NOTE: Due to file dependencies, the most recent hotfix or feature that contains the preceding files may also contain additional files.

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.

MORE INFORMATION

This error message shown in the "Symptoms" section does not occur if the MDX statment is run under Microsoft OLAP version 7.0. This problem is specific to Microsoft Analysis Services 2000, version 8.0.

Steps to Reproduce Behavior

  1. Run the MDX sample application.
  2. Select FoodMart 2000 as the database.
  3. Run the following MDX statement:
    Select Order({CrossJoin({[Customers].[Country].[USA]}, {[Education Level].[Education Level].Members})}, [Measures].[MeasuresLevel].[Unit Sales], DESC) On Rows, 
    Order( {[Measures].[MeasuresLevel].[Unit Sales], [Measures].[MeasuresLevel].[Store Cost], [Measures].[MeasuresLevel].[Store Sales]} ,[Measures].[MeasuresLevel].[Unit Sales],DESC) On Columns 
    From [sales] 
    					
When the Order function is removed, the MDX statement runs successfully.

Modification Type:MinorLast Reviewed:4/23/2003
Keywords:kbBug kbfix kbSQLServ2000sp1fix kbssas800sp1fix KB294993 kbAudDeveloper