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]