CREATE SET 语句 (MDX)

更新日期: 2006 年 7 月 17 日

为当前多维数据集创建具有会话作用域的命名集。

语法

CREATE [SESSION] [HIDDEN] SET 
   CURRENTCUBE | Cube_Name
            .Set_Name AS 'Set_Expression'

参数

  • Cube_Name
    提供多维数据集名称的有效字符串表达式。
  • Set_Name
    为要创建的命名集提供名称的有效字符串表达式。
  • Set_Expression
    返回集的有效多维表达式 (MDX)。

备注

命名集是为重用而创建的维度成员集(或者是用于定义集的表达式)。例如,使用命名集可以定义由销售额排在前十名的商店组成的维度成员集。此维度成员集可以通过静态方式来定义,也可以通过 TopCount 等函数来定义。之后,一旦需要使用包含前 10 名商店的集,就可使用此命名集。

CREATE SET 语句所创建的命名集在整个会话期间始终可用,因此,该命名集可用于会话中的多个查询。有关详细信息,请参阅 创建会话作用域的计算成员 (MDX)

也可以定义用于单个查询的命名集。若要定义这种集,请在 SELECT 语句中使用 WITH 子句。有关 WITH 子句的详细信息,请参阅创建查询作用域的命名集 (MDX)

Set_Expression 子句可以包含支持 MDX 语法的任何函数。如果使用 CREATE SET 语句创建集时没有指定 SESSION 子句,则该集的作用域为会话。使用 WITH 子句创建具有查询作用域的集。

指定当前连接的多维数据集以外的某个多维数据集将导致错误。因此,应使用 CURRENTCUBE 来代替多维数据集名称,以表示当前的多维数据集。

HIDDEN 关键字用于将计算成员标记为不可见。对多维数据集进行查询的用户将看不到这种计算成员。

作用域

用户定义的集的作用域可以是下表所列的任意一个作用域。

  • 查询作用域
    集的可见性和生存期被限制在查询中。集是在单个查询中定义的。查询作用域将覆盖会话作用域。有关详细信息,请参阅 创建查询作用域的命名集 (MDX)
  • 会话作用域
    集的可见性和生存期被限制在创建该集的会话中。(如果对该集执行了 DROP SET 语句,集的生存期将短于会话的持续时间。)CREATE SET 语句创建的集的作用域为会话。使用 WITH 子句创建具有查询作用域的集。

示例

以下示例创建名为 Core Products 的集。SELECT 查询并显示调用新创建的集。必须先执行 CREATE SET 语句才可以执行 SELECT 查询 - 这两个语句不能在同一批中执行。

CREATE SET [Adventure Works].[Core Products] AS '{[Product].[Category].[Bikes]}'
    
SELECT [Core Products] ON 0
  FROM [Adventure Works]

请参阅

其他资源

MDX 数据定义语句 (MDX)

帮助和信息

获取 SQL Server 2005 帮助

更改历史记录

发布日期 历史记录

2006 年 7 月 17 日

更改的内容:
  • 更新了语法和参数,以使表述更加清晰。
  • 更新了示例。