2015-10-30 4 views
1

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

| Месяц | Val1 | PrevYEVal |

| 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, но я не могу получить вышеупомянутый набор результатов.

ответ

1

Try:

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; 
+0

... по теме, но мне было интересно, если вы когда-либо сталкивались с этой проблемой Грег? http://stackoverflow.com/questions/33485982/top-x-of-top-y-with-restof-member-where-x-and-y-are-unrelated-hierarchies – whytheq