MDX 資料定義 - CREATE MEMBER
建立匯出成員。
語法
CREATE [ SESSION ] [HIDDDEN] [ CALCULATED ] MEMBER CURRENTCUBE | Cube_Name.Member_Name
AS MDX_Expression
[,Property_Name = Property_Value, ...n]
......[,SCOPE_ISOLATION = CUBE]
引數
Cube_Name
提供將建立成員之 Cube 名稱的有效字串運算式。
Member_Name
提供成員名稱的有效字串運算式。 指定完整名稱,以在量值維度以外的維度內建立成員。 如果您未提供完整成員名稱,則會在量值維度中建立成員。
MDX_Expression
有效的多維度運算式 (MDX) 運算式。
Property_Name
提供匯出成員屬性名稱的有效字串。
Property_Value
定義匯出成員屬性值的有效純量運算式。
備註
CREATE MEMBER 語句會定義在整個會話中可用的匯出成員,因此可以在會話期間用於多個查詢。 如需詳細資訊,請參閱 建立會話範圍匯出成員 (MDX) 。
您也可以定義匯出成員以供單一查詢使用。 若要定義限制為單一查詢的匯出成員,您可以在 SELECT 語句中使用 WITH 子句。 如需詳細資訊,請參閱 建立查詢範圍匯出成員 (MDX) 。
Property_Name 可以參考標準或選擇性匯出成員屬性。 本主題稍後會列出標準成員屬性。 使用 CREATE MEMBER 建立且沒有 SESSION 值的匯出成員具有會話範圍。 此外,匯出成員定義內的字串會以雙引號分隔。 這與 OLE DB 所定義的方法不同,此方法會指定字串應該以單引號分隔。
指定目前連接的 Cube 以外的 Cube 會造成錯誤。 因此,您應該使用 CURRENTCUBE 取代 Cube 名稱來表示目前的 Cube。
如需 OLE DB 所定義成員屬性的詳細資訊,請參閱 OLE DB 檔。
範圍
導出成員可以發生在下表所列的其中一個範圍內。
查詢範圍
匯出成員的可見度和存留期僅限於查詢。 匯出成員定義于個別查詢中。 查詢範圍會覆寫會話範圍。 如需詳細資訊,請參閱 建立查詢範圍匯出成員 (MDX) 。
會話範圍
匯出成員的可見度和存留期僅限於建立它的會話。 (如果匯出成員上發出 DROP MEMBER 語句,則存留期小於會話持續時間。CREATE MEMBER 語句會建立具有會話範圍的匯出成員。
範圍隔離
當 Cube 多維度運算式 (MDX) 腳本包含匯出成員時,根據預設,匯出成員會在解析任何會話範圍的計算之前解析,以及解析任何查詢定義的計算之前。
注意
在某些情況下, Aggregate (MDX) 函式和 VisualTotals (MDX) 函式不會顯示此行為。
此行為可讓一般用戶端應用程式使用包含複雜計算的 Cube,而不需要考慮計算的特定實作。 不過,在某些情況下,您可能會想要在 Cube 中的特定計算之前執行會話或查詢範圍的匯出成員,而且 Aggregate 函式和 VisualTotals 函式都 不適用。 若要達成此目的,請使用SCOPE_ISOLATION計算屬性。
範例
下列腳本是產生正確結果所需SCOPE_ISOLATION計算屬性的案例範例。
Cube 的 MDX 腳本:
CREATE MEMBER CURRENTCUBE.Measures.ProfitRatio AS 'Measures.[Store Sales]/Measures.[Store Cost]', SOLVE_ORDER = 10
MDX 查詢:
WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio
上一個查詢的預期結果是沒有 WA 的美國銷售比率,與沒有 WA 的美國儲存成本的比例。 前一個查詢不會傳回所需的結果;它會傳回美國的比例減去 WA 的比例,這是毫無意義的結果。 若要達到所需的結果,您可以使用SCOPE_ISOLATION計算屬性。
使用SCOPE_ISOLATION計算屬性的 MDX 查詢:
WITH MEMBER [Customer].[Customers].[USA]. USAWithoutWA AS
[Customer].[Customers].[Country].&[USA] - [Customer].[Customers].[State Province.&[WA], SOLVE_ORDER=5
,SCOPE_ISOLATION=CUBE
SELECT {USAWithoutWA} ON 0 FROM SALES
WHERE ProfitRatio
標準屬性
每個匯出成員都有一組預設屬性。 當用戶端應用程式連線到 Analysis Services 時,預設屬性會受到支援,或可供支援,因為系統管理員選擇。
視 Cube 定義而定,可能會提供其他成員屬性。 下列屬性代表與 Cube 中維度層級相關的資訊。
屬性識別項 | 意義 |
---|---|
SOLVE_ORDER | 當匯出成員參考另一個匯出成員時,匯出成員將解析的順序(也就是匯出成員彼此交集)。 |
FORMAT_STRING | 用戶端應用程式在顯示儲存格值時可以使用的 Office 樣式格式字串。 |
可見 | 值,指出匯出成員是否顯示在架構資料列集中。 可見的匯出成員可以使用 AddCalculatedMembers 函式新增至集合 。 非零值表示匯出成員是可見的。 此屬性的預設值為 Visible 。 不可見的匯出成員(其中此值設定為零)通常會當做較複雜匯出成員的中繼步驟使用。 這些匯出成員也可以由其他類型的成員參考,例如量值。 |
NON_EMPTY_BEHAVIOR | 量值或集合,用來判斷解析空白儲存格時匯出成員的行為。 ** Warning ** 這個屬性已被取代。 避免設定它。 如需詳細資訊,請參閱 SQL Server 2014 中已被取代的 Analysis Services 功能。 |
標題 | 用戶端應用程式用來做為成員標題的字串。 |
DISPLAY_FOLDER | 字串,識別用戶端應用程式用來顯示成員之顯示資料夾的路徑。 資料夾層級分隔符號是由用戶端應用程式所定義。 針對 Analysis Services 所提供的工具和用戶端,反斜線 (\) 是層級分隔符號。 若要為已定義的成員提供多個顯示資料夾,請使用分號 (;)以分隔資料夾。 |
ASSOCIATED_MEASURE_GROUP | 與這個成員相關聯的量值群組名稱。 |
另請參閱
DROP MEMBER 語句 (MDX)
UPDATE MEMBER 語句 (MDX)
MDX 資料定義語句 (MDX)