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


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

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

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

Синтаксис

CREATE [SESSION] [HIDDEN] SET 
   CURRENTCUBE | Cube_Name
            .Set_Name AS 'Set_Expression'

Аргументы

  • Cube_Name
    Допустимое строковое выражение, представляющее имя куба.
  • Set_Name
    Допустимое строковое выражение, представляющее имя создаваемого набора.
  • Set_Expression
    Допустимое многомерное выражение, возвращающее набор.

Замечания

Именованный набор — это набор элементов измерения (или выражение, задающее набор), создаваемый для многократного использования. Например, в именованном наборе можно определить набор элементов измерения, состоящий из набора из десяти магазинов с самыми высокими объемами продаж. Этот набор можно определить статически или с помощью такой функции, как TopCount. Затем этот именованный набор можно использовать в любой момент, когда требуется получить набор из 10 магазинов с самыми высокими объемами продаж.

Инструкция CREATE SET создает именованный набор, доступный в течение сеанса, к которому, следовательно, можно обращаться в нескольких запросах в сеансе. Дополнительные сведения см. в разделе Создание вычисляемых элементов с областью действия сеанса (многомерные выражения).

Также можно определить именованный набор только для одного запроса. Чтобы определить такой набор, в инструкции SELECT укажите предложение WITH. Дополнительные сведения о предложении WITH см. в разделе Создание именованных наборов с областью действия запроса (многомерные выражения).

Предложение Set_Expression может содержать любые функции, поддерживающие синтаксис многомерных выражений. Наборы, создаваемые с помощью инструкции CREATE SET, в которой не указано предложение SESSION, имеют область сеанса. Для создания набора с областью запроса используйте предложение WITH.

При указании куба, отличного от текущего подключенного куба, возникает ошибка. Поэтому для обращения к текущему кубу вместо указания имени куба рекомендуется использовать переменную CURRENTCUBE.

Ключевое слово HIDDEN помечает вычисляемые элементы как скрытые. Такие вычисляемые элементы не видны пользователям, обращающимся к кубу с запросом.

Область

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

  • Область сеанса
    Видимость и время жизни набора ограничиваются сеансом, в котором создан набор (время жизни может быть меньше длительности сеанса, если набор удален инструкцией DROP SET). Инструкция CREATE SET создает набор с областью сеанса. Для создания набора с областью запроса используйте предложение WITH.

Пример

В следующем примере будет создан набор с именем «Core Products». Затем с помощью запроса SELECT демонстрируется вызов созданного набора. Инструкция CREATE SET должна быть выполнена до запроса SELECT, поэтому они не могут выполняться в одном пакете.

CREATE SET [Adventure Works].[Core Products] AS '{[Product].[Category].[Bikes]}'
    
SELECT [Core Products] ON 0
  FROM [Adventure Works]

См. также

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

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

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

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

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

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

17 июля 2006 г.

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