0

我有一些MDX代码可以生成 3 个月的平均值。

它不起作用,我找不到问题。

我研究了许多网站 - 我正在尝试模拟为类似场景找到的代码,但看不到我做错了什么。

SSAS MDX 中的计算成员不起作用

我有一个会计时间维度和一个会计时间层次结构

会计时间维度

我希望创建一个新的度量来显示当月的平均值 + 过去 2 个月的平均值(3 个月平均值),但现在,它只显示 NULL 值

结果未显示平均值,显示 NULL

有人发现我的错误吗?

谢谢!

4

1 回答 1

0

您应该尝试使用此公式(我尝试尊重您的维度和度量名称,如果我错了,请告诉我):

AVG({[FISCAL TIME].[FISCAL TIME HIERARCHY].CURRENTMEMBER.LAG(2):[FISCAL TIME].[FISCAL TIME HIERARCHY].CURRENTMEMBER},[Measures].[AMOUNT or UNIT - WARRANTY])

FISCAL MONTH (Label Only)显然,当您使用层次结构时,您无法指定级别(如)。

请注意,当您在“月”级别浏览时,此公式有效,但如果您转到日级别,它将计算 3 个移动日(年和所有其他级别的原则相同)。

如果您想在 3 个移动月修复您的计算,无论粒度如何(月或更低),我建议您使用 PARALLELPERIOD 函数:

AVG({PARALLELPERIOD([FISCAL TIME].[FISCAL TIME HIERARCHY].[FISCAL MONTH (Label Only)],2,[FISCAL TIME].[FISCAL TIME HIERARCHY].CURRENTMEMBER):[FISCAL TIME].[FISCAL TIME HIERARCHY].CURRENTMEMBER},[Measures].[AMOUNT or UNIT - WARRANTY])

我还建议您添加一个范围,以便在NULL您处于高于 Month 的级别时设置此计算的值。

我真的希望它能解决你的问题。

于 2019-08-17T10:01:37.270 回答