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


Инструкция 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, в качестве разделителя уровней используется обратная косая черта (\). Чтобы указать для определенного набора несколько папок отображения, используйте для разделения папок точку с запятой (;).