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


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 г.

Измененное содержимое
  • Обновлены синтаксис и аргументы для облегчения понимания.
  • Добавлены обновленные примеры.