共用方式為


使用 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)