FIX: In SQL Server 2005 Analysis Services, the session-scoped calculated members or the query-defined calculated members may not return the expected results (917929)
The information in this article applies to:
- Microsoft SQL Server 2005 Analysis Services
Bug #: 450532 (SQLBUDT) Bug #: 50000120 (SQL Hotfix) Microsoft distributes Microsoft SQL Server 2005 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2005 fix release. SUMMARYThis article describes the following about this hotfix
release:
- The issues that are fixed by the hotfix package
- The prerequisites for installing the hotfix
package
- Whether you must restart the computer after you install the
hotfix package
- Whether you must make any registry changes
- The files that are contained in the hotfix
package
SYMPTOMSWhen a cube Multidimensional Expressions (MDX) script contains calculated members in Microsoft SQL
Server 2005 Analysis Services, the session-scoped calculated members or the query-defined calculated members may not return the expected results.
Note In certain scenarios, this problem may not occur when the Aggregate
function or the VisualTotals function is used.CAUSEThis problem occurs when the calculated
members are resolved before any session-scoped calculations are resolved or before any
query-defined calculations are resolved.RESOLUTION To resolve this problem, apply the cumulative hotfix
package (build 2153) for SQL Server 2005 that is discussed in Microsoft
Knowledge Base article 918222.
For more information, click the following article number to view the article in the Microsoft Knowledge Base:
918222
Cumulative hotfix package (build
2153) for SQL Server 2005 is available
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.MORE INFORMATIONThis
problem does not occur in SQL Server 2000 Analysis Services. In SQL Server 2000 Analysis Services, you can set the
solve order for the session-scoped calculations or
for the query-defined calculations because all the calculations have absolute positions.
When you set the solve order, you control the order in which all the calculations are performed. In SQL Server 2005 Analysis
Services, generic client
applications can work together with cubes that contain complex calculations without having
to consider the specific implementation of the calculations. Generic client
applications can do this because all the calculations have relative positions. The relative position in the solve order is an offset from the end of the cube script. In certain scenarios, you may want to run the session-scoped calculated members or the query-defined calculated members before you run the cube-level calculations. If the session-scoped calculated members or the query-defined calculated members use the Aggregate function or the VisualTotals function, this problem may not occur. If the session-scoped calculated members or the query-defined calculated members do not use the Aggregate function or the VisualTotals function, this problem may occur. This hotfix introduces a new calculation property that is named
the SCOPE_ISOLATION property. After you apply this hotfix, you can control the order in which the calculations are performed when you set the
solve order for the session-scoped calculations or
for the query-defined calculations. After you apply this hotfix, the syntax of the MDX query should resemble the following code example. WITH MEMBER [Customer].[Customers].[US].USAWithoutSTATE AS '[Customer].[Customers].[Country].&[US] - [Customer].[Customers].[State Province].&[WA]', SOLVE_ORDER=5, SCOPE_ISOLATION=CUBE
SELECT {US,USWithoutSTATE} on 0 FROM Sales
WHERE ProfitRatio In this code example, the SCOPE_ISOLATION property inserts the solve order of the calculated member into the cube's MDX script when the calculated member is evaluated. After you apply this hotfix, the syntax of the Backus-Naur Form (BNF) should resemble the following code example. <create-member-statement> ::= CREATE <optional-scope> <create-member-subset> [<create-member-subset>...]
<create-member-subset> ::= MEMBER <cube-name>.<fully-qualified-member-name> AS '<expression>' [,<property-definition-list>]
<cube name> ::= CURRENTCUBE | <Cube Identifier>
<property-definition-list> ::= <property-definition> | <property-definition>, <property-definition-list>
<property-definition> ::= <property-identifier> = <property-value>
<property-identifier> ::= VISIBLE | SOLVEORDER | FORMAT_STRING| <ole db member properties>
<property-value> ::= <string> | <number>
<property-definition> ::= SCOPE_ISOLATION = CUBE
<optional-scope> ::= <empty> | SESSION REFERENCESFor more information about how to use property expressions in packages, visit the following Microsoft Developer Network (MSDN) Web site:
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684
Description of the standard terminology that is used to describe Microsoft software updates
Modification Type: | Minor | Last Reviewed: | 7/26/2006 |
---|
Keywords: | kbBug kbfix kbtshoot kbQFE kbpubtypekc KB917929 kbAudITPRO kbAudDeveloper |
---|
|