CREATE SUBCUBE 陳述式 (MDX)
將指定 Cube 或 Subcube 的 Cube 空間重新定義為指定的 Subcube。此陳述式會變更後續作業的明顯 Cube 空間。
語法
CREATE SUBCUBE Cube_Name AS Select_Statement
| NON VISUAL ( Select_Statement )
引數
Cube_Name
提供受限之 Cube 或檢視方塊名稱的有效字串運算式,此名稱會變成 Subcube 名稱。Select_Statement
不包含 WITH、NON EMPTY 或 HAVING 子句,並且不要求維度或資料格屬性的有效多維度運算式 (MDX) SELECT 運算式。如需有關 Select 陳述式和 NON VISUAL 子句的詳細語法說明,請參閱<SELECT 陳述式 (MDX)>。
備註
Subcube 定義內排除預設成員時,座標將會相應地變更。對於可彙總的屬性而言,預設成員會移動到 [All] 成員。對於不可彙總的屬性而言,預設成員會移動到存在於 Subcube 內的成員。下表包含 Subcube 範例以及預設成員組合。
原始的預設成員 |
可以彙總 |
子選擇 |
修訂過的預設成員 |
---|---|---|---|
Time.Year.All |
是 |
{Time.Year.2003} |
無變更 |
Time.Year.[1997] |
是 |
{Time.Year.2003} |
Time.Year.All |
Time.Year.[1997] |
否 |
{Time.Year.2003} |
Time.Year.[2003] |
Time.Year.[1997] |
是 |
{Time.Year.2003, Time.Year.2004} |
Time.Year.All |
Time.Year.[1997] |
否 |
{Time.Year.2003, Time.Year.2004} |
Either Time.Year.[2003] 或 Time.Year.[2004] |
[All] 會員將永遠存在於 Subcube 內。
Subcube 內容中建立的工作階段物件會在卸除 Subcube 時一併卸除。
如需有關 Subcube 的詳細資訊,請參閱<在 MDX 中建立 Subcube (MDX)>。
範例
下列範例會建立 Subcube,將明顯 Cube 空間限制於國家 (地區) 為加拿大的成員。然後,使用 MEMBERS 函數來傳回 Geography 使用者定義階層之 Country 層級的所有成員 - 只傳回加拿大。
CREATE SUBCUBE [Adventure Works] AS
SELECT [Geography].[Country].&[Canada] ON 0
FROM [Adventure Works]
SELECT [Geography].[Country].[Country].MEMBERS ON 0
FROM [Adventure Works]
下列範例會建立 Subcube,將明顯 Cube 空間限制於 Products.Category 中的 {Accessories, Clothing} 成員以及 Resellers.[Business Type] 中的 {[Value Added Reseller], [Warehouse]}。
CREATE SUBCUBE [Adventure Works] AS
Select {[Category].Accessories, [Category].Clothing} on 0,
{[Business Type].[Value Added Reseller], [Business Type].[Warehouse]} on 1
from [Adventure Works]
使用下列 MDX 查詢 Products.Category 和 Resellers.[Business Type] 中所有成員的 Subcube:
select [Category].members on 0,
[Business Type].members on 1
from [Adventure Works]
where [Measures].[Reseller Sales Amount]
產生結果如下:
|
All Products |
Accessories |
Clothing |
All Resellers |
$2,031,079.39 |
$506,172.45 |
$1,524,906.93 |
Value Added Reseller |
$767,388.52 |
$175,002.81 |
$592,385.71 |
Warehouse |
$1,263,690.86 |
$331,169.64 |
$932,521.23 |
使用 NON VISUAL 子句卸除並重新建立 Subcube,會建立一個能夠保留 Products.Category 和 Resellers.[Business Type] 所有成員實際總計的 Subcube,不論這些成員在 Subcube 中是顯示或隱藏。
CREATE SUBCUBE [Adventure Works] AS
NON VISUAL (Select {[Category].Accessories, [Category].Clothing} on 0,
{[Business Type].[Value Added Reseller], [Business Type].[Warehouse]} on 1
from [Adventure Works])
發出與上面相同的 MDX 查詢:
select [Category].members on 0,
[Business Type].members on 1
from [Adventure Works]
where [Measures].[Reseller Sales Amount]
產生下列不同結果:
|
All Products |
Accessories |
Clothing |
All Resellers |
$80,450,596.98 |
$571,297.93 |
$1,777,840.84 |
Value Added Reseller |
$34,967,517.33 |
$175,002.81 |
$592,385.71 |
Warehouse |
$38,726,913.48 |
$331,169.64 |
$932,521.23 |
[All Products] 和 [All Resellers] 的資料行與資料列個別包含所有成員的總計,而不只是可見成員的總計。