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


StrToSet (многомерные выражения)

Возвращает набор, заданный многомерными выражениями (многомерными выражениями) в формате строки.

Синтаксис

  
StrToSet(Set_Specification [,CONSTRAINED] )   

Аргументы

Set_Specification
Допустимое строковое выражение, обозначающее (напрямую или косвенно) набор.

Замечания

Функция StrToSet возвращает набор, указанный в строковом выражении. Функция StrToSet обычно используется с определяемыми пользователем функциями для возврата спецификации набора из внешней функции обратно в инструкцию многомерных выражений или при параметризации запроса многомерных выражений.

  • Если используется флаг CONSTRAINED, спецификация набора должна содержать полные или неквалифицированные имена элементов или набор кортежей, содержащих квалифицированные или неквалифицированные имена элементов, заключенные в фигурные скобки {}. Этот флаг используется для уменьшения риска атак, использующих вставку инструкций SQL в указанную строку. Если указана строка, которая не разрешена напрямую для квалифицированных или неквалифицированных имен элементов, появится следующая ошибка: "Ограничения, введенные флагом ED в функции STRTOSET, были нарушены".

  • Если флаг CONSTRAINED не используется, заданную спецификацию набора можно разрешить в допустимое многомерное выражение, возвращающее набор.

  • Дополнительные сведения о различиях между наборами и элементами см. в разделах «Использование выражений наборов» и «Использование выражений элементов».

Примеры

В следующем примере возвращается набор элементов иерархии атрибутов State-Province с помощью функции StrToSet . Указанная спецификация набора является допустимым многомерным выражением набора.

SELECT StrToSet ('[Geography].[State-Province].Members')  
ON 0  
FROM [Adventure Works]  
  

В следующем примере возвращается сообщение об ошибке, поскольку используется флаг CONSTRAINED. Несмотря на то что заданная спецификация набора является допустимым многомерным выражением набора, она должна содержать полные или неполные имена элементов, поскольку указан флаг CONSTRAINED.

SELECT StrToSet ('[Geography].[State-Province].Members', CONSTRAINED)  
ON 0  
FROM [Adventure Works]  
  

В следующем примере возвращается мера "Сумма продаж торговых посредников" для Германии и Канады. Указанная спецификация набора содержит полные имена элементов, как этого требует флаг CONSTRAINED.

SELECT StrToSet ('{[Geography].[Geography].[Country].[Germany],[Geography].[Geography].[Country].[Canada]}', CONSTRAINED)  
ON 0  
FROM [Adventure Works]  

См. также

Справочник по функции многомерных выражений (многомерные выражения)