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


Инструкция SCOPE (многомерные выражения)

Изменения: 17 июля 2006 г.

Ограничивает область заданных инструкций многомерных выражений указанным вложенным кубом.

Синтаксис

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, то неявной областью инструкции является весь куб.

ms145989.note(ru-ru,SQL.90).gifПримечание.
Скрытые элементы появляются в инструкциях SCOPE.

Инструкции SCOPE создают вложенные кубы, имеющие «пустоты», независимо от значения аргумента MDX Compatibility. Например, инструкция 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 ;   

См. также

Другие ресурсы

Инструкции сценариев многомерных выражений (многомерные выражения)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

17 июля 2006 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.