Поделиться через


ParallelPeriod (многомерные выражения)

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

Синтаксис

ParallelPeriod( [ Level_Expression [ ,Index [ , Member_Expression ] ] ] )

Аргументы

  • Level_Expression
    Допустимое многомерное выражение, возвращающее уровень.

  • Index
    Допустимое числовое выражение, указывающее количество параллельных периодов для отставания.

  • Member_Expression
    Допустимое многомерное выражение, возвращающее элемент.

Замечания

Несмотря на сходство с функцией Cousin, функция ParallelPeriod более тесно связана с временным рядом. Функция ParallelPeriod берет предок указанного выражения на заданном уровне, находит родственный элемент предка, отстающий на заданное число периодов, и возвращает параллельный период среди потомков этого родственного элемента.

Функция ParallelPeriod использует следующие значения по умолчанию.

  • Если не указано ни выражение уровня, ни выражение элемента, то в качестве значения элемента по умолчанию используется текущий элемент первой иерархии в первом измерении типа Time в группе мер.

  • Если выражение уровня определено, а выражение элемента не определено, значением элемента по умолчанию является Level_Expression.Hierarchy.CurrentMember.

  • Значение Index по умолчанию равно 1.

  • Уровень по умолчанию соответствует уровню родительского элемента для указанного элемента.

Функция ParallelPeriod эквивалентна следующей инструкции многомерных выражений.

Cousin(Member_Expression, Ancestor(Member_Expression, Level_Expression) .Lag(Numeric_Expression))

Пример

В следующем примере возвращается параллельный период для октября 2003 г. с отставанием в три периода, основанный на квартальном уровне, будет возвращен январь 2003 г.

SELECT ParallelPeriod ([Date].[Calendar].[Calendar Quarter]
   , 3
   , [Date].[Calendar].[Month].[October 2003])
   ON 0
   FROM [Adventure Works]

В следующем примере возвращается параллельный период для октября 2003 г. с отставанием в три периода, основанный на полугодовом уровне, будет возвращен апрель 2002 г.

SELECT ParallelPeriod ([Date].[Calendar].[Calendar Semester]
   , 3
   , [Date].[Calendar].[Month].[October 2003])
   ON 0
   FROM [Adventure Works]