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


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

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

Синтаксис

  
StrToMember(Member_Name [,CONSTRAINED] )   

Аргументы

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

Замечания

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

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

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

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

Примеры

В следующем примере возвращается мера "Объем продаж торгового посредника" для члена Bayern в иерархии атрибутов State-Province с помощью функции StrToMember . Заданная строка предоставляет полное имя элемента.

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

В следующем примере возвращается мера "Сумма продаж торгового посредника" для члена Bayern с помощью функции StrToMember . Строка с именем предоставляет только неполное имя элемента, запрос возвращает первый экземпляр заданного элемента, содержащегося в иерархии Customer Geography в измерении Customer, которое не пересекается с измерением Reseller Sales. Для обеспечения ожидаемого результата рекомендуется указывать полное имя.

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

В следующем примере возвращается мера "Объем продаж торгового посредника" для члена Bayern в иерархии атрибутов State-Province с помощью функции StrToMember . Строка с именем разрешается в полное имя элемента.

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

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

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

См. также

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