Сценарии многомерных выражений — SCOPE
Ограничивает область заданных инструкций многомерных выражений указанным вложенным кубом.
Синтаксис
SCOPE(Subcube_Expression)
[ MDX_Statement ]
END SCOPE
Subcube_Expression ::=(Auxiliary_Subcube [, Auxiliary_Subcube,...n])
Auxiliary_Subcube ::=
Limited_Set
| Root([dimension_name])
| Leaves([dimension_name])
Limited_Set ::=
single_tuple
| member
| Common_Grain_Members
| hierarchy.members
| level.members
| {}
| Descendants
(
Member
, [level
[
, SELF
| AFTER
| BEFORE
| SELF_AND_AFTER
| SELF_AND_BEFORE
| SELF_BEFORE_AFTER
| LEAVES
]
)
[* <limited set>]
Аргументы
Subcube_Expression
Допустимое многомерное выражение вложенного куба.
MDX_Statement
Допустимая инструкция многомерных выражений.
Common_Grain_Members
Допустимая инструкция многомерных выражений, принимающая значение элементов с одинаковой детализацией.
single_tuple
Один кортеж.
Замечания
Инструкция SCOPE определяет вложенный куб, на который будет распространяться действие одной или нескольких инструкций многомерных выражений. Если инструкция многомерных выражений не ограничена инструкцией SCOPE, то неявной областью инструкции является весь куб.
Заметка
Скрытые элементы появляются в инструкциях SCOPE.
Операторы SCOPE создают вложенные кубы, которые предоставляют "отверстия" независимо от параметра совместимости многомерных выражений . Например, инструкция Scope( Customer.State.members )
может включать штаты в тех странах или регионах, которые не имеют штатов, но содержат элементы-заполнители для штатов, невидимые в остальных случаях.
Действие инструкции SCOPE не распространяется на вычисляемые элементы и именованные наборы, созданные в этой инструкции SCOPE.
пример
В следующем примере из скрипта вычисления многомерных выражений в примере решения Adventure Works определяет текущую область в качестве финансового квартала в финансовом году 2005 года и меру квоты на продажу, а затем присваивает ячейкам в текущей области значение с помощью функции ParallelPeriod . Затем этот пример изменяет область с помощью другой инструкции SCOPE, а затем выполняет другое назначение с помощью функции This (MDX).
Scope
(
[Date].[Fiscal Year].&[2005],
[Date].[Fiscal].[Fiscal Quarter].Members,
[Measures].[Sales Amount Quota]
) ;
This = ParallelPeriod
(
[Date].[Fiscal].[Fiscal Year], 1,
[Date].[Fiscal].CurrentMember
) * 1.35 ;
/*-- Allocate equally to months in FY 2002 -----------------------------*/
Scope
(
[Date].[Fiscal Year].&[2002],
[Date].[Fiscal].[Month].Members
) ;
This = [Date].[Fiscal].CurrentMember.Parent / 3 ;
End Scope ;
End Scope ;
См. также
Инструкции скриптов многомерных выражений (многомерные выражения)