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

Article translations Article translations
Article ID: 294993 - View products that this article applies to.
This article was previously published under Q294993
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 12092 (Plato7.x)
BUG #: 12178 (Plato7.x)
Expand all | Collapse all

On This Page


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.


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


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   1,733,180   Msmdsrv.exe  
   4/5/2001   2:31p     209,472   Msmdcb80.dll 
   4/5/2001   2:31p   1,360,448   Mdmdgd80.dll
   4/5/2001   2:31p   1,983,056   Msolap80.dll
   4/5/2001   2:31p     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.


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.


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.


Article ID: 294993 - Last Review: October 23, 2013 - Revision: 1.2
  • Microsoft SQL Server 2000 Analysis Services
kbnosurvey kbarchive kbbug kbfix kbsqlserv2000sp1fix kbssas800sp1fix KB294993

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from