共用方式為


StrToMember (MDX)

傳回由多維度運算式 (MDX) 指定的成員 –格式化字串。

語法

StrToMember(Member_Name [,CONSTRAINED] ) 

引數

  • Member_Name
    直接或間接指定成員的有效字串運算式。

備註

The StrToMember 函數會傳回字串運算式所指定的成員。StrToMember 函數一般會搭配使用者自訂函數使用,將來自外部函數的成員規格傳回至 MDX 陳述式,或在 MDX 查詢參數化時使用。

  • 使用 CONSTRAINED 旗標時,成員名稱必須可直接解析成合格的或不合格的成員名稱。這個旗標用於降低遭到由指定字串發動資料隱碼攻擊的風險。如果所提供的字串不能直接解析成限定或未限定成員名稱,會出現下列錯誤:「違反了 STRTOMEMBER 函數中 CONSTRAINED 旗標所加諸的限制。」

  • 沒有使用 CONSTRAINED 旗標時,指定的成員可以直接解析為成員名稱,或解析成會解析成名稱的 MDX 運算式。

  • 若要進一步了解集合和成員之間的差異,請參閱<使用集合運算式>和<使用成員運算式>。

範例

下列範例會使用 StrToMember 函數,傳回 State-Province 屬性階層中 Bayern 成員的 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 屬性階層中 Bayern 成員的 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]

請參閱

參考