FIX: MDX Lag() Function Returns Incorrect Results Intermittently (308973)



The information in this article applies to:

  • Microsoft SQL Server 2000 Analysis Services

This article was previously published under Q308973
BUG #: 12655 (Plato7x)

SYMPTOMS

The Multidimensional Expression (MDX) Lag() function returns inconsistent results if you run the query against an OLAP cube that has parent-child dimensions with Unary operators enabled.

For example:
SELECT {[Time].[1998].[01].Lag(12):[Time].[1998].[01]} ON COLUMNS FROM SALES
				
The preceding query should return on columns the members '[Time].[1997].[01]' through '[Time].[1998].[01]'. However, with each second or third execution, the same query mistakenly returns members outside of the range.

RESOLUTION

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000 Analysis Services. 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

To work around this problem, specify the starting point for a range directly instead of using the Lag() function. For example:
SELECT {[Time].[1997].[01]:[Time].[1998].[01]} ON COLUMNS FROM SALES
				

STATUS

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

This problem was first corrected in Microsoft SQL Server 2000 Analysis Services Service Pack 2.

Modification Type:MajorLast Reviewed:6/25/2004
Keywords:kbbug kbfix KB308973