SSAS 2012 Как использовать ParallelPeriod без иерархии дат?

Я нашел пример использования функции Parallel Period в моем кубе SSAS OLAP здесь: период-дисперсионный-анализ/" rel="nofollow">https://www.mssqltips.com/sqlservertip/2915/sql-server-analysis-services-period-over-period-variance-analysis/

Однако предполагается, что у вас есть иерархия дат, которой у меня нет. Я пытался использовать его без успеха. Мое измерение даты имеет только атрибут даты и атрибут года и месяца (например, 2015/01 для января 2015 года). В нем нет ни иерархии, ни чего-либо еще. (Интересно, почему? Потому что это просто работает, а иерархия запутала моих пользователей)

Мне нужно сравнить значения месяц за месяцем и год за годом. Вот что я мог сделать из примера, но он не работает:

IIF([Fact Date].[Date].CurrentMember.level.ordinal = 0, 
    [Measures].[Billed Amount],
    (ParallelPeriod([Fact Date].[Year Month].[Year Month],
                    1,
                    [Fact Date].[Date].CurrentMember),
     [Measures].[Billed Amount]
    )
)

Каким будет правильный синтаксис для достижения этого?


person Fermin    schedule 16.05.2016    source источник


Ответы (1)


В конце я исправил это, добавив атрибут года (например, 2015), атрибут месяца (например: 201501) и создал простую иерархию (год, месяц, дата). Он работал со следующим кодом:

IIF([Fact Date].[Date Hierarchy].CurrentMember.level.ordinal = 0, 
    [Measures].[Billed Amount],
    (ParallelPeriod([Fact Date].[Date Hierarchy].[Month],
                    1,
                    [Fact Date].[Date Hierarchy].CurrentMember),
     [Measures].[Billed Amount]
    )
)
person Fermin    schedule 16.05.2016