从时间维度获取度量的 LastNonEmpty 值

Getting the LastNonEmpty value of a measure from time dimension

我正在为一个 OLAP 多维数据集建模,并以这种方式创建了一个度量:

测量 1:

ID客户 ID月年 值

下一个值:

IDCustomer     IDMonthYear     Value
--------------------------------------
1              25              10
1              20              20
1              10              30
1              97              40
1              18              50

我的时间维度定义为3tables:

年份 月 月年

有以下记录:

ID    YEAR
------------
5     2018
0     2019

ID     MONTH
----------------
5      JAN
1      FEB
0      MAR
4      APR
6      MAY
7      JUN
19     JUL
11     AGO
20     SEP
8      OCT
12     NOV
19     DIC

ID     MONTHYEAR     IDYEAR    IDMONTH
----------------------------------------
25     JAN 2018      5          5  
20     FEB 2018      5          1 
10     MAR 2018      5          0 
4      APR 2018      5          4 
8      MAY 2018      5          6 
9      JUN 2018      5          7 
1      JUL 2018      5          19
11     AGO 2018      5          11
97     SEP 2018      5          20
0      OCT 2018      5          8 
67     NOV 2018      5          12
18     DIC 2018      5          19
26     JAN 2019      0          5  
21     FEB 2019      0          1 
12     MAR 2019      0          0 
5      APR 2019      0          4 
13     MAY 2019      0          6 
14     JUN 2019      0          7 
2      JUL 2019      0          19
15     AGO 2019      0          11
38     SEP 2019      0          20
7      OCT 2019      0          8 
68     NOV 2019      0          12
19     DIC 2019      0          19

因此,此度量将 属性 "AggregateFunction" 设置为 "LastNonEmpty" 因为我想提取与上个月相关联的值,该值是我在数据透视表中的预期结果table 应该是:

Customer1    DEC 2018    50

但我明白了:

Customer1    SEP 2018    40

我认为是因为系统正在获取与最大 IDMonthYear 关联的值...

有没有办法达到我的预期效果?我不太了解 MDX,所以我不确定是否需要在 "MeasureExpression" 属性.

中添加一些内容

您需要检查您的月份顺序。我假设它们是根据文本值排序的。要检查只需将它们放入多维数据集浏览器并观察。如果是这种情况,您需要修复月份 table 的 id 列。另外在项目中转到您的月份维度,对于月份名称,id 应该是键列,并在 Orderby 中设置值键(所有这些都将在属性 window 中完成)。