Инструкция CREATE SET (многомерные выражения)
Создает именованный набор с областью сеанса для текущего куба.
Синтаксис
CREATE [SESSION] [ STATIC | DYNAMIC ] [HIDDEN] SET
CURRENTCUBE | Cube_Name
.Set_Name AS 'Set_Expression'
[,Property_Name = Property_Value, ...n]
Аргументы
Cube_Name
Допустимое строковое выражение, представляющее имя куба.Set_Name
Допустимое строковое выражение, представляющее имя создаваемого набора.Set_Expression
Допустимое многомерное выражение, возвращающее набор.Property_Name
Допустимое строковое выражение, содержащее имя набора свойств.Property_Value
Допустимое скалярное выражение, представляющее значение набора свойств.
Замечания
Именованный набор — это набор элементов измерения (или выражение, задающее набор), создаваемый для многократного использования. Например, в именованном наборе можно определить набор элементов измерения, состоящий из набора из десяти магазинов с самыми высокими объемами продаж. Этот набор можно определить статически или с помощью такой функции, как TopCount. Затем этот именованный набор можно использовать в любой момент, когда требуется получить набор из 10 магазинов с самыми высокими объемами продаж.
Инструкция CREATE SET создает именованный набор, доступный в течение сеанса, к которому, следовательно, можно обращаться в нескольких запросах в сеансе. Дополнительные сведения см. в разделе Создание вычисляемых элементов с областью действия сеанса (многомерные выражения).
Также можно определить именованный набор только для одного запроса. Чтобы определить такой набор, в инструкции SELECT укажите предложение WITH. Дополнительные сведения о предложении WITH см. в разделе Создание именованных наборов с областью действия запроса (многомерные выражения).
Предложение Set_Expression может содержать любые функции, поддерживающие синтаксис многомерных выражений. Наборы, создаваемые с помощью инструкции CREATE SET, в которой не указано предложение SESSION, имеют область сеанса. Для создания набора с областью запроса используйте предложение WITH.
При указании куба, отличного от текущего подключенного куба, возникает ошибка. Поэтому для обращения к текущему кубу вместо указания имени куба рекомендуется использовать переменную CURRENTCUBE.
Область
Область пользовательского набора может ограничиваться одной из следующих областей.
Область запроса
Видимость и время жизни набора ограничиваются данным запросом. Набор определяется в отдельном запросе. Область запроса имеет приоритет по сравнению с областью сеанса. Дополнительные сведения см. в разделе Создание именованных наборов с областью действия запроса (многомерные выражения).Область сеанса
Видимость и время жизни набора ограничиваются сеансом, в котором создан набор (время жизни может быть меньше длительности сеанса, если набор удален инструкцией DROP SET). Инструкция CREATE SET создает набор с областью сеанса. Для создания набора с областью запроса используйте предложение WITH.Глобальная область
Чтобы создать именованный набор, область которого шире контекста сеанса пользователя (т. е. набор со сроком действия выполняющегося экземпляра), в сценарии многомерных выражений по умолчанию следует использовать инструкцию CREATE SET. Дополнительные сведения см. в разделе Базовый сценарий многомерных выражений (многомерные выражения). Именованный набор, определенный с помощью инструкции CREATE SET в сценарии многомерных выражений по умолчанию, доступен всем пользователям во всех запросах многомерных выражений в любом сеансе.
Примеры
В следующем примере будет создан набор с именем «Core Products». Затем с помощью запроса SELECT демонстрируется вызов созданного набора. Инструкция CREATE SET должна быть выполнена до запроса SELECT, поэтому они не могут выполняться в одном пакете.
CREATE SET [Adventure Works].[Core Products] AS '{[Product].[Category].[Bikes]}'
SELECT [Core Products] ON 0
FROM [Adventure Works]
Выполнение набора
Выполнение набора может быть определено по-разному. Оно может происходить при создании набора или при каждом его использовании.
STATIC
Указывает, что набор выполняется только во время вычисления инструкции CREATE SET.DYNAMIC
Указывает, что набор должен выполняться каждый раз при его использовании в запросе.
Дополнительные сведения см. в разделе Построение именованных наборов в многомерных выражениях.
Видимость набора
Для других пользователей, выполняющих запрос к кубу, набор может быть видимым или нет.
- HIDDEN
Указывает, что набор невидим для пользователей, выполняющих запрос к кубу.
Стандартные свойства
У каждого набора есть набор стандартных свойств. При подключении клиентского приложения к службам MicrosoftAnalysis Services, стандартные свойства либо поддерживаются, либо доступны для поддержки по выбору администратора.
Идентификатор свойства |
Значение |
---|---|
CAPTION |
Строка, используемая клиентским приложением в качестве заголовка набора. |
DISPLAY_FOLDER |
Строка, определяющая путь к папке отображения, которую клиентское приложение использует для демонстрации набора. Разделитель уровней вложенности папок определяется клиентским приложением. Для средств и клиентов, входящих в службы Analysis Services, в качестве разделителя уровней используется обратная косая черта (\). Чтобы указать для определенного набора несколько папок отображения, используйте для разделения папок точку с запятой (;). |
См. также