首页 > 应用开发 > IT综合 > MDX的上下文(Context)
WITH MEMBER [Measures].[Average Internet Sales Amount] AS
AVG(DESCENDANTS([Date].[Calendar].CurrentMember, [Date].[Calendar].[Date],SELF),
[Measures].[Internet Sales Amount])
SELECT
{[Measures].[Internet Sales Amount],[Measures].[Average Internet Sales Amount]} ON 0,
NON EMPTY [Product].[Product Categories].[Product Name].Members ON 1
FROM [Adventure Works]
WITH MEMBER [Measures].[Average Internet Sales Amount] AS
AVG(DESCENDANTS([Date].[Calendar].CurrentMember, [Date].[Calendar].[Date],SELF),
[Measures].[Internet Sales Amount])
SELECT
{[Measures].[Internet Sales Amount],[Measures].[Average Internet Sales Amount]} ON 0,
NON EMPTY [Product].[Product Categories].[Product Name].Members ON 1
FROM [Adventure Works]
WHERE
{[Date].[Calendar].[Calendar Year].&[2002], [Date].[Calendar].[Calendar Year].&[2003]}
WITH MEMBER [Measures].[Average Internet Sales Amount] AS
AVG(EXISTING [Date].[Calendar].[Date],
[Measures].[Internet Sales Amount])
SELECT
{[Measures].[Internet Sales Amount],[Measures].[Average Internet Sales Amount]} ON 0,
NON EMPTY [Product].[Product Categories].[Product Name].Members ON 1
FROM [Adventure Works]
WHERE
{[Date].[Calendar].[Calendar Year].&[2002], [Date].[Calendar].[Calendar Year].&[2003]}
上面的语句中EXISTING [Date].[Calendar].[Date]表示当前上下文中包含的[Date].[Calendar].[Date],所以能够得到正确的结果。
总结本文简单介绍了MDX的运行机制中的上下文的概念,它是理解MDX的关键概念之一。要深入一些的话 有兴趣的朋友可以看看Mosha Pasumansky的文章:http://www.sqljunkies.com/WebLog/mosha/archive/2006/11/01/slicer_axis_interaction.aspx
http://www.sqljunkies.com/WebLog/mosha/archive/2006/11/12/slicer_axis_interaction_deep_exists.aspx
http://www.mosha.com/msolap/articles/mdxmultiselectcalcs.htm
本文来自:http://www.cnblogs.com/microsheen/archive/2006/11/26/572643.html
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7600305/viewspace-891197/ ,如需转载,请注明出处,否则将追究法律责任。