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

问题描述 投票:0回答:1

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

Measure1:

IDCustomerIDMonthYear值

带有下一个值:

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

我的时间维度由3个表定义:

年份月年月

具有以下记录:

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”,因为我想提取链接到带有值的上个月的值,我在数据透视表中的预期结果应该是:

Customer1    DEC 2018    50

但是我明白了:

Customer1    SEP 2018    40

我认为是因为系统正在采用与最大IDMonthYear相关的值...

是否有办法获得预期的结果?我对MDX不太了解,所以不确定是否需要在“ MeasureExpression”属性中添加内容。

ssas mdx olap olap-cube
1个回答
1
投票

您需要检查月份的顺序。我认为它们是按其文本值排序的。要进行检查,只需将它们放在多维数据集浏览器中并进行观察。如果是这种情况,则需要修复months表的id列。另外,在项目中转到您的月份维度,对于月份名称,id应该是键列,并在Orderby中设置值key(所有这些操作都将在属性窗口中完成)。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.