MDX 数据定义 - CREATE SESSION CUBE
根据现有服务器多维数据集,创建和填充会话多维数据集。 会话多维数据集仅在当前会话内可见;不能从其他任何会话浏览或查询。 会话关闭时将隐式删除会话多维数据集。
语法
CREATE SESSION CUBE session_cube_name FROM <cube list> (<param list>)
<cube list>::= source_cube_name [,<cube list>]
<param list>::= <param> ,<param list> | <param>
<param>::= <dims list> | <measures list>
<measures list>::= <measure>[, <measures list>]
<dims list>::= <dim def> [, <dims list>]
<measure>::= MEASURE source_cube_name.measure_name [<visibility qualifier>] [AS measure_name]
<dim def>::= <source dim def> | <derived dim def>
<source dim def>::= DIMENSION source_cube_name.dimension_name [<dim flags>] [<visibility qualifier>] [AS dimension_name>] [FROM <dim from clause> ] [<dim content def>]
<dim flags>::= NOT_RELATED_TO_FACTS
<dim from clause>::= <reg dim from clause>
<dim reg from clause>::= dimension_name
<dim content def>::= ( <level list> [,<grouping list>] [,<member slice list>] [,<default member>] )
<level list>::= <level def> [, <level list>]
<level def>::= LEVEL level_name [<level type> ] [AS level_name] [<level content def>]
<level content def>::= ( <property list> ) | NO_PROPERTIES
<level type>::= GROUPING
<property list>::= <property def> [, <property list>]
<property def>::= PROPERTY property_name
<grouping list>::= <grouping entity> [,<grouping list>]
<grouping entity>::= GROUP group_level_name.group_name (<mixed list>)
<grp mixed list>::= <grp mixed element> [,<grp mixed list>]
<grp mixed element>::= <grouping entity> | <member def>
<member slice list>::= <member list>
<member list>::= <member def> [, <member list>]
<member def>::= MEMBER member_name
<default member>::= DEFAULT_MEMBER AS MDX_expression
<visibility qualifier>::= HIDDEN
语法元素
session_cube_name
会话多维数据集的名称。
source_cube_name
会话多维数据集所基于的多维数据集的名称。
source_cube_name.measure_name
包含在会话多维数据集中的源度量值的完全限定名称。 不允许使用 Measures 维度的计算成员。
measure_name
会话多维数据集中的度量值的名称。
source_cube_name.dimension_name
包含在会话多维数据集中的源维度的完全限定名称。
dimension_name
会话多维数据集中的维度的名称。
FROM <dim from 子句>
该规范仅对于派生维度定义有效。
NOT_RELATED_TO_FACTS
该规范仅对于派生维度定义有效。
<级别类型>
该规范仅对于派生维度定义有效。
备注
与服务器和本地多维数据集不同,会话多维数据集在创建该会话多维数据集的会话之外不会持久保留。 会话多维数据集按照定义它的度量值和定义来定义。 有两种类型的维度。
源维度 - 这些维度是一个或多个源多维数据集的一部分。
派生维度 - 这些维度能够提供新的分析功能。 派生维度可以是基于垂直或水平切片的源维度定义的常规维度,或者包含维度成员的自定义分组。 派生维度还可以是基于数据挖掘模型的数据挖掘维度。
注意
关键字“维度”可以指维度或层次结构。
会话多维数据集主要用于由客户端应用程序(如 Microsoft Excel)将属性成员动态分组到自定义成员组中。 在会话多维数据集中,可以执行下列任务:
消除源多维数据集中存在的维度。
从维度添加或消除层次结构。
消除度量值组或特定度量值。
基于属性绑定添加新属性,用于针对某个现有属性创建组。
重要
会话多维数据集对象的安全性继承自基础源对象。 会话多维数据集还会继承其他对象,如操作和计算脚本。
CREATE SESSION CUBE 语句遵循下列规则:
不能对父子层次结构执行分组。
不能对 ROLAP 维度执行分组。
不能对链接维度执行分组。
不能对带有自定义汇总的级别执行分组。
不能对离散化属性层次结构执行分组。
不能对非自然层次结构执行分组,这些层次结构在各级之间存在多对多关系(如年龄和性别)。
分组会中断对 MDX 脚本中的多维数据集名称的显式引用,因为会话多维数据集具有不同的名称。 请使用 CURRENTCUBE 关键字。
不能对具有显式默认成员的维度执行分组。
如果执行分组,则将删除原始服务器多维数据集中的会话作用域的计算成员。
对服务器多维数据集中的某个多维数据集维度执行分组时,分组将影响基于同一维度的所有多维数据集维度。
示例
以下示例说明如何创建 Adventure Works 多维数据集的会话作用域版本,该版本中包含 Reseller Sales Amount 度量值、Reseller 维度、Product 维度、Geography 维度和 Date 维度。 在此会话多维数据集中,将创建两个组;一个组包含欧洲的国家/地区,一个组包含北美中的组。 此示例是 CREATE SESSION CUBE 语句的简化版本,由 Microsoft Excel 在用户创建自定义成员分组时发出。
CREATE SESSION CUBE [Adventure Works_XL_GROUPING1]
FROM [Adventure Works]
( MEASURE [Adventure Works].[Internet Sales Amount]
,MEASURE [Adventure Works].[Reseller Sales Amount]
,DIMENSION [Adventure Works].[Date].[Calendar]
,DIMENSION [Adventure Works].[Date].[Calendar Year]
,DIMENSION [Adventure Works].[Date].[Calendar Semester]
,DIMENSION [Adventure Works].[Date].[Calendar Quarter]
,DIMENSION [Adventure Works].[Date].[Month Name]
,DIMENSION [Adventure Works].[Date].[Date]
,DIMENSION [Adventure Works].[Geography].[Country]
HIDDEN AS _XL_GROUPING81
,DIMENSION [Adventure Works].[Geography].[State-Province]
,DIMENSION [Adventure Works].[Geography].[City]
,DIMENSION [Adventure Works].[Geography].[Postal Code]
,DIMENSION [Adventure Works].[Geography].[Geography]
,DIMENSION [Adventure Works].[Product].[Product Categories]
,DIMENSION [Adventure Works].[Product].[Category]
,DIMENSION [Adventure Works].[Product].[Subcategory]
,DIMENSION [Adventure Works].[Product].[Product]
,DIMENSION [Adventure Works].[Product].[Product Key]
,DIMENSION [Adventure Works].[Reseller].[Reseller]
,DIMENSION [Adventure Works].[Reseller].[Geography Key]
,DIMENSION [Geography].[Country]
NOT_RELATED_TO_FACTS FROM _XL_GROUPING81
( LEVEL [(All)]
,LEVEL [Country1] GROUPING
,LEVEL [Country]
,GROUP [Country1].[CountryXl_Grp_1]
( MEMBER [Geography].[Country].&[Canada]
,MEMBER [Geography].[Country].&[United States] )
,GROUP [Country1].[CountryXl_Grp_2]
( MEMBER [Geography].[Country].&[France]
,MEMBER [Geography].[Country].&[Germany]
,MEMBER [Geography].[Country].&[United Kingdom] )
)
)