SSAS MDX 计算成员:3 个月移动平均线不起作用

SSAS MDX Calculated Member: 3 months moving average not working

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

不行,我找不到问题。

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

Calculated Member in SSAS MDX not working

我有一个财务时间维度和一个财务时间层次结构

Fiscal Time Dimension

我希望创建一个显示当前月份的平均值 + 过去 2 个月的平均值(3 个月平均值),但目前,它只显示 NULL 值

Result not showing the average, showing NULLs

有人发现我的错误吗?

谢谢!

你应该试试这个公式(我试着尊重你的维度和度量名称,如果我错了请告诉我):

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

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

请注意,当您在 "month" 级别浏览时,此公式有效,但如果您转到日级别,它将计算 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

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