Получение значений на конец года из предыдущего года в каждой строке результата запроса MDX

У меня есть таблица фактов снимка с временным интервалом в месяц, поэтому значения показателей являются только моментом времени, а не кумулятивными с течением времени. Мне нужно получить значение на конец предыдущего года, чтобы сравнить значения любого заданного месяца с концом предыдущего года, например:

| Месяц | Вал1 | Предыдущий |

| 2014-10 | 101 | 100 |

| 2014-11 | 103 | 100 |

| 2014-12 | 105 | 100 |

| 2015-01 | 110 | 105 |

| 2015-02 | 115 | 105 |

| 2015-03 | 113 | 105 |

...

| 2015-12 | 120 | 105 |

| 2016-01 | 130 | 120 |

и т.д...

Я использую SSAS, и таблица измерения времени настроена как таковая с иерархией Год-> Квартал-> Месяц-> День.

Я могу найти решения для предыдущего месяца, скользящее число месяцев и получить кумулятивное значение с начала года, но это прямое сравнение времени с моментом времени.

Я пытаюсь использовать Lag, Ancestor и/или ParallelPeriod, но не могу получить приведенный выше набор результатов.


person Iwantallthedata    schedule 30.10.2015    source источник


Ответы (1)


Пытаться:

Create member CurrentCube.[Measures].[PrevYEVal] as null;
Scope([Date].[Calendar Hierarchy].[Month].Members);
  [Measures].[PrevYEVal]=([Date].[Calendar Hierarchy].CurrentMember.Parent.Parent.PrevMember.LastChild.LastChild, [Measures].[Val1]);
End scope;
person GregGalloway    schedule 31.10.2015
comment
...не по теме, но мне интересно, сталкивался ли ты когда-нибудь с этим вызовом, Грег? stackoverflow.com/questions/33485982/ - person whytheq; 02.11.2015