使用 Cube 和 Subcube 運算式
您可以使用多維度運算式 (MDX) 語句中的 Cube 和 Subcube 運算式,從 Cube 或 Subcube 定義、操作或擷取資料。
Cube 運算式
Cube 運算式包含 Cube 識別碼或 CURRENTCUBE 關鍵字,因此只能是簡單的運算式。 許多 MDX 語句會使用 CURRENTCUBE 關鍵字來識別目前的 Cube 內容,而不是要求 Cube 識別碼。
CUBE 識別碼會顯示為 MDX 語句之 BNF 標記法描述中的Cube_Name 。
Cube 運算式可能會出現在數個位置。 在 MDX SELECT 語句中,他們會指定要從中擷取資料的 Cube。 在下列範例查詢中,運算式 [Adventure Works] 會參考該名稱的 Cube:
SELECT [Measures].[Internet Sales Amount] ON COLUMNS
FROM [Adventure Works]
在 CREATE MEMBER 語句中,Cube 運算式會指定您要建立的匯出成員要出現在哪個 Cube 上。 在下列範例中,語句會在 Adventure Works Cube 的 Measure 維度上建立匯出量值:
CREATE MEMBER [Adventure Works].[Measures].[Test] AS 1
當您在 MDX 腳本內使用 CREATE MEMBER 語句時,Cube 的名稱可以取代為 CURRENTCUBE 關鍵字,因為要建立匯出成員的 Cube 必須與 MDX 腳本所屬的 Cube 相同,如下列範例所示:
CREATE MEMBER CURRENTCUBE.[Measures].[Test] AS 1;
這樣做可讓您更輕鬆地將匯出成員定義從一個 Cube 複製到另一個 Cube,因為 Cube 的名稱不再硬式編碼。
SubCube 運算式
Subcube 運算式可以包含 Subcube 識別碼或會傳回 Subcube 的 MDX 語句。 如果 Subcube 運算式包含 Subcube 識別碼,它將會是簡單的運算式。 如果它包含傳回 Subcube 的 MDX 語句,則它是複雜的語句。 例如,MDX SELECT 語句會傳回 Subcube,而且可用於允許 Subcube 運算式的位置,如下列範例所示:
SELECT [Measures].MEMBERS ON COLUMNS,
[Date].[Calendar Year].MEMBERS ON ROWS
FROM
(SELECT [Measures].[Internet Sales Amount] ON COLUMNS,
[Date].[Calendar Year].&[2004] ON ROWS
FROM [Adventure Works])
在 FROM 子句中使用 SELECT 語句也稱為子選取。
在 MDX 腳本中進行範圍指派時,遇到 Subcube 運算式的另一個常見案例。 在下列範例中,SCOPE 語句是用來限制由 [Measure] 組成的 Subcube 指派。[網際網路銷售金額]:
SCOPE([Measures].[Internet Sales Amount]);
This=1;
END SCOPE;
Subcube 識別碼會顯示為 Subcube_Name 。 在 MDX 語句的 BNF 標記法描述中。
另請參閱
基本 MDX 查詢 (MDX)
在 MDX 中建置 Subcube (MDX)
CREATE SUBCUBE 語句 (MDX)
運算式 (MDX)
SCOPE 語句 (MDX)