StrToMember (многомерные выражения)
Изменения: 17 июля 2006 г.
Возвращает элемент, заданный строкой в формате многомерных выражений.
Синтаксис
StrToMember(Member_Name [,CONSTRAINED] )
Аргументы
- Member_Name
Допустимое строковое выражение, явно или неявно задающее элемент.
Замечания
Функция StrToMember возвращает заданный элемент. Функция StrToMember обычно используется вместе с пользовательскими функциями для возвращения спецификации элемента из внешней функции обратно в инструкцию с многомерным выражением.
- Когда используется флаг CONSTRAINED, имя элемента должно напрямую разрешаться в полное или неполное имя элемента. Этот флаг используется для уменьшения риска атак, использующих вставку инструкций SQL в указанную строку. Если строка не разрешается напрямую в полное или неполное имя элемента, то появляется следующее сообщение об ошибке: «Нарушены ограничения, установленные флагом CONSTRAINED функции STRTOMEMBER».
- Когда флаг CONSTRAINED не используется, заданный элемент может быть напрямую разрешен в имя элемента или же в допустимое многомерное выражение, возвращающее имя элемента.
Примеры
В следующем примере возвращается мера Reseller Sales Amount для элемента Bayern в иерархии атрибута State-Province, используя функцию StrToMember. Заданная строка предоставляет полное имя элемента.
SELECT StrToMember ('[Geography].[State-Province].[Bayern]')
ON 0
FROM [Adventure Works]
В следующем примере возвращается мера Reseller Sales Amount для элемента Bayern, используя функцию StrToMember. Строка с именем предоставляет только неполное имя элемента, запрос возвращает первый экземпляр заданного элемента, содержащегося в иерархии Customer Geography в измерении Customer, которое не пересекается с измерением Reseller Sales. Для обеспечения ожидаемого результата рекомендуется указывать полное имя.
SELECT StrToMember ('[Bayern]').Parent
ON 0
FROM [Adventure Works]
В следующем примере возвращается мера Reseller Sales Amount для элемента Bayern в иерархии атрибута State-Province, используя функцию StrToMember. Строка с именем разрешается в полное имя элемента.
SELECT StrToMember ('[Geography].[Geography].[Country].[Germany].FirstChild')
ON 0
FROM [Adventure Works]
В следующем примере возвращается сообщение об ошибке, поскольку используется флаг CONSTRAINED. Хотя предоставленное имя элемента строки, содержащее допустимое многомерное выражение, возвращает полное имя элемента, из-за флага CONSTRAINED требуется указывать полное или неполное имя элемента в строке имени.
SELECT StrToMember ('[Geography].[Geography].[Country].[Germany].FirstChild', CONSTRAINED)
ON 0
FROM [Adventure Works]
См. также
Справочник
Справочник по функциям многомерных выражений (многомерные выражения)
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
17 июля 2006 г. |
|