Инструкция 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 г. |
|