Получение значения LastNonEmpty меры из измерения времени - PullRequest
0 голосов
/ 05 мая 2020

Я моделирую куб OLAP и создал меру следующим образом:

Measure1:

IDCustomer IDMonthYear Value

Со следующими значениями:

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

Мое измерение времени определяется тремя таблицами:

Год Месяц Месяц Год

Со следующими записями:

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 ...

Есть ли способ получить ожидаемый результат? Я не очень хорошо знаю многомерные выражения, поэтому не уверен, нужно ли мне что-то указывать в свойстве "MeasureExpression".

1 Ответ

2 голосов
/ 05 мая 2020

Вам необходимо проверить порядок ваших месяцев. Я предполагаю, что они упорядочены по их текстовому значению. Чтобы проверить, просто бросьте их в браузер кубов и наблюдайте. Если это так, вам нужно исправить столбец id в таблице месяцев. Плюс в проекте go к вашему измерению месяца, для названия месяца идентификатор должен быть ключевым столбцом, а в Orderby установить ключ значения (все это будет сделано в окне свойств).

...