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]
См. также
Справочник по функции многомерных выражений (многомерные выражения)