StrToMember (MDX)

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

Syntax

  
StrToMember(Member_Name [,CONSTRAINED] )   

Arguments

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

Remarks

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

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

  • Когда флаг CONSTRAINED не используется, указанный член может разрешить либо напрямую на имя члена, либо в MDX-выражение, которое разрешается в имя.

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

Примеры

Следующий пример возвращает меру Reseller Sales Amount для участника Bayern в иерархии атрибутов State-Province с помощью функции StrToMember . Указанная строка содержала имя квалифицированного участника.

SELECT {StrToMember ('[Geography].[State-Province].[Bayern]')}  
ON 0,  
{[Measures].[Reseller Sales Amount]} ON 1  
FROM [Adventure Works]  
  

Следующий пример возвращает показатель суммы продаж реселлером для участника Bayern с помощью функции StrToMember . Поскольку строка имени участника предоставляла только неквалифицированное имя участника, запрос возвращает первый экземпляр указанного участника, который находится в иерархии географии клиента в измерении Клиент и не пересекается с продажами через продавца. Лучшие практики требуют указания квалифицированного названия для обеспечения ожидаемых результатов.

SELECT {StrToMember ('[Bayern]').Parent}  
ON 0,  
{[Measures].[Reseller Sales Amount]} ON 1  
FROM [Adventure Works]  
  

Следующий пример возвращает меру Reseller Sales Amount для участника Bayern в иерархии атрибутов State-Province с помощью функции StrToMember . Предоставленная строка имени участника разрешается в квалифицированное имя участника.

SELECT {StrToMember('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)}  
ON 0,  
{[Measures].[Reseller Sales Amount]} ON 1  
FROM [Adventure Works]  
  

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

SELECT StrToMember ('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)  
ON 0  
FROM [Adventure Works]