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