MDX 数据定义 - 创建子立方体

重新定义指定立方体或子立方体的立方体空间。 该语句改变后续操作的视于立方体空间。

Syntax

  
CREATE SUBCUBE Cube_Name AS Select_Statement  
                                                  | NON VISUAL ( Select_Statement )  

Arguments

Cube_Name
有效的字符串表达式,用于表示被限制的立方体或透视的名称,该表达式成为子立方体的名称。

Select_Statement
一个有效的多维表达式(MDX)SELECT表达式,不包含WITH、NON EMPTY或HAING子句,也不请求维度或单元格属性。

关于Select语句和NON VISUAL子句的详细语法解释,请参见SELECT语句(MDX)。

Remarks

当默认成员被排除在子立方体定义中时,坐标也会相应变化。 对于可聚合的属性,默认成员会被移到[全部]成员。 对于无法聚合的属性,默认成员会被移到子立方体中存在的成员。 下表包含示例子立方体和默认成员组合。

原始默认成员 可以聚合 子选择 修订默认成员
时间。年份。全部 是的 {时间。年份.2003} 无更改
时间。年份。[1997] 是的 {时间。年份.2003} 时间。年份。全部
时间。年份。[1997] No {时间。年份.2003} 时间。年份。[2003]
时间。年份。[1997] 是的 {时间.年份.2003,时间.年份.2004} 时间。年份。全部
时间。年份。[1997] No {时间.年份.2003,时间.年份.2004} 无论哪种时间,一年。[2003] 或

时间。年份。[2004]

[所有]成员始终存在于一个子立方体中。

在子立方体上下文中创建的会话对象在子立方体被丢弃时也会被丢弃。

有关子立方体的更多信息,请参见MDX中构建子立方体(MDX)。

Example

以下示例创建了一个子立方体,将表观立方体空间限制在与加拿大国家存在的成员之间。 然后它使用 MEMBERS 函数返回地理用户定义层级中国家级的所有成员——仅返回加拿大国家。

CREATE SUBCUBE [Adventure Works] AS  
   SELECT [Geography].[Country].&[Canada] ON 0  
   FROM [Adventure Works]  
  
SELECT [Geography].[Country].[Country].MEMBERS ON 0  
   FROM [Adventure Works]  
  

以下示例创建了一个子立方体,将表观立方体空间限制在 Products.Category 中的 {Accessories, Clothing} 成员和经销商中的 {[增值经销商], [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]  

查询Products.Category和Resellers中所有成员的子立方体。[业务类型],并包含以下MDX:

select [Category].members on 0,  
[Business Type].members on 1  
from [Adventure Works]  
where [Measures].[Reseller Sales Amount]  

得出以下结果:

业务类型+类别 所有产品 配件 Clothing
所有经销商 2,031,079.39美元 $506,172.45 $1,524,906.93
增值经销商 767,388.52美元 $175,002.81 $592,385.71
Warehouse 1,263,690.86美元 $331,169.64 $932,521.23

使用NON VISUAL条款删除并重新创建子立方体,会创建一个子立方体,保留Products.Category和Resellers中所有成员的真实总额。[业务类型],无论它们是否在子立方体中可见。

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]  

得出以下不同的结果:

业务类型+类别 所有产品 配件 Clothing
所有经销商 $80,450,596.98 571,297.93美元 1,777,840.84美元
增值经销商 $34,967,517.33 $175,002.81 $592,385.71
Warehouse $38,726,913.48 $331,169.64 $932,521.23

[所有产品]和[所有经销商]分别列和行,包含所有成员的总和,而不仅仅是可见成员。