ParallelPeriod (многомерные выражения)
Возвращает элемент предыдущего периода, расположенный в той же относительной позиции, что и заданный элемент.
Синтаксис
ParallelPeriod( [ Level_Expression [ ,Index [ , Member_Expression ] ] ] )
Аргументы
Level_Expression
Допустимое многомерное выражение, возвращающее уровень.Index
Допустимое числовое выражение, указывающее количество параллельных периодов для отставания.Member_Expression
Допустимое многомерное выражение, возвращающее элемент.
Замечания
Несмотря на сходство с функцией Cousin, функция ParallelPeriod более тесно связана с временным рядом. Функция ParallelPeriod берет предок указанного выражения на заданном уровне, находит родственный элемент предка, отстающий на заданное число периодов, и возвращает параллельный период среди потомков этого родственного элемента.
Функция ParallelPeriod использует следующие значения по умолчанию.
Если не определены ни выражение уровня, ни выражение элемента, функция использует по умолчанию текущий элемент из измерения времени (Time.CurrentMember).
Если выражение уровня определено, а выражение элемента не определено, значением элемента по умолчанию является Level_Expression.Hierarchy.CurrentMember.
Значение Index по умолчанию равно 1.
Уровень по умолчанию соответствует уровню родительского элемента для указанного элемента.
Функция ParallelPeriod эквивалентна следующей инструкции многомерных выражений.
Cousin(Member_Expression, Lag(Ancestor(Member_Expression, Level_Expression), 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]