StrToMember (MDX)
傳回多維度運算式 (MDX) 格式字串所指定的成員。
語法
StrToMember(Member_Name [,CONSTRAINED] )
引數
Member_Name
直接或間接指定成員的有效字串運算式。
備註
StrToMember 函式會傳回字串運算式中指定的成員。 StrToMember 函式通常與使用者定義的函式搭配使用,以將成員規格從外部函式傳回 MDX 語句,或在 MDX 查詢參數化時傳回。
使用 CONSTRAINED 旗標時,成員名稱必須直接解析為限定或未限定的成員名稱。 此旗標可用來降低透過指定字串進行插入式攻擊的風險。 如果提供無法直接解析為限定或未限定成員名稱的字串,則會出現下列錯誤:「違反 STRTOMEMBER 函式中 CONSTRAINED 旗標的限制。
未使用 CONSTRAINED 旗標時,指定的成員可以直接解析為成員名稱,也可以解析為解析為名稱的 MDX 運算式。
若要進一步瞭解集合和成員之間的差異,請參閱使用集合運算式和使用成員運算式。
範例
下列範例會使用 StrToMember 函式,傳回 State-Province 屬性階層中拜仁成員的 Reseller Sales Amount 量值。 指定的字串提供限定的成員名稱。
SELECT {StrToMember ('[Geography].[State-Province].[Bayern]')}
ON 0,
{[Measures].[Reseller Sales Amount]} ON 1
FROM [Adventure Works]
下列範例會使用 StrToMember 函式傳回 Bayern 成員的 Reseller Sales Amount 量值。 由於成員名稱字串只提供不合格的成員名稱,因此查詢會傳回指定成員的第一個實例,該實例恰好位於 Customer 維度的 Customer Geography 階層中,該階層不會與 Reseller Sales 交集。 最佳做法會指定限定名稱以確保預期的結果。
SELECT {StrToMember ('[Bayern]').Parent}
ON 0,
{[Measures].[Reseller Sales Amount]} ON 1
FROM [Adventure Works]
下列範例會使用 StrToMember 函式,傳回 State-Province 屬性階層中拜仁成員的 Reseller Sales Amount 量值。 提供的成員名稱字串會解析為限定的成員名稱。
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]