当在切片器

时间:2016-09-22 03:05:23

标签: mdx iccube

我正在尝试创建一个包含前期值的度量

通常你做的是:

WITH Member Measures.PrevAmt AS ([Time].[Calendar].CurrentMember.Lag(1),Measures.Amount)
SELECT {Measures.Amount,MEasures.PRevAmt} on 0
,{[Time].[Calendar].[year]
,[Time].[Calendar].[quarter]
,[Time].[Calendar].[Month]} on 1
from [sales]

工作正常,但我只想将其限制在某一年。容易,添加 其中([时间]。[年]。[2008])

但结果集为prevamt返回null,其中.lagged成员将在2007年(例如,在年级和每个后续级别的第一个成员)。 SSAS MDX返回预期结果,IcCube doco中没有任何内容表明.lag / parallelperiod等函数在应用切片器并执行最终结果集后执行...

如果我像这样一起攻击某些东西,我会得到预期的结果

WITH Member Measures.PrevAmt AS ([Time].[Calendar].CurrentMember.Lag(1),Measures.Amount)
SELECT {Measures.Amount,MEasures.PRevAmt} on 0
,{[Time].[Calendar].[2008]
,descendants([Time].[Calendar].[2008],1)
,descendants([Time].[Calendar].[2008],2)} on 1
from [sales]

但是当我们按照不在选择列表中的属性进行切片时(这个代码很丑陋且可能更慢),这会中断

我错过了什么吗?

0 个答案:

没有答案