StrToSet (MDX)

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

Syntax

  
StrToSet(Set_Specification [,CONSTRAINED] )   

Arguments

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

Remarks

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

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

  • Когда флаг CONSTRAINED не используется, указанная спецификация множества может разрешиться в допустимое выражение многомерных выражений (MDX), возвращающее множество.

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

Примеры

Следующий пример возвращает множество членов иерархии атрибутов State-Province с помощью функции StrToSet . Спецификация множества предоставляет допустимое выражение множества MDX.

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

Следующий пример возвращает ошибку из-за флага CONSTRAINED. Хотя спецификация множества предоставляет действительное выражение множества MDX, флаг 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]