基本 MDX 脚本 (MDX)

多维表达式 (MDX) 脚本定义了 Microsoft SQL Server 分析服务中立方体的计算过程。 有两种类型的 MDX 脚本:

默认 MDX 脚本
在创建多维数据集时,Analysis Services 会为该多维数据集创建默认 MDX 脚本。 此脚本定义了整个立方体的计算过程。

用户定义的 MDX 脚本
创建多维数据集后,可以添加用户定义的 MDX 脚本,以扩展多维数据集的计算功能。

默认 MDX 脚本

当您定义多维数据集时,Analysis Services 创建的默认的 MDX 脚本中包含一个 CALCULATE 语句。 此单个 CALCULATE 语句位于默认 MDX 脚本的开头,并指示整个多维数据集需要在第一次计算过程期间被计算。

默认 MDX 脚本还包括在多维数据集设计器中创建的命名集、赋值和计算成员的脚本命令。

  • Analysis Services 直接将脚本命令添加到默认 MDX 脚本。

  • 对于多维数据集中的每个命名集,默认 MDX 脚本中存在相应的 CREATE SET 语句。

  • 对于多维数据集中定义的每个计算成员,默认 MDX 脚本中存在相应的 CREATE MEMBER 语句。

可以使用多维数据集设计器的 “计算 ”选项卡来控制默认 MDX 脚本中的脚本命令、命名集和计算成员的顺序。 有关定义存储在默认 MDX 脚本中的计算的详细信息,请参阅 多维模型中的计算

如果没有与多维数据集关联的 MDX 脚本,则多维数据集假定默认 MDX 脚本。 多维数据集需要与至少一个 MDX 脚本相关联,因为多维数据集依赖于 MDX 脚本来确定计算行为。 换句话说,未与 MDX 脚本关联的多维数据集或与空 MDX 脚本关联的多维数据集,无法且不会计算任何单元格。 如果使用 Analysis Services 脚本语言(ASSL)命令或使用分析管理对象(AMO)以编程方式创建多维数据集,建议创建包含多维数据集单个 CALCULATE 语句的默认 MDX 脚本。

MDX 脚本内容

MDX 脚本可以包含以下语句和表达式:

所有 MDX 脚本语句
在 MDX 脚本中,MDX 脚本语句控制计算的上下文和范围,以及管理 MDX 脚本中的其他语句的行为。 此类别包括以下语句:

有关 MDX 脚本语句的详细信息,请参阅 MDX 脚本语句 (MDX)。

创建成员
CREATE MEMBER 语句创建计算成员。 有关如何创建计算成员的详细信息,请参阅 在 MDX (MDX) 中生成计算成员

创建集合
CREATE SET 语句创建命名集。 有关如何创建名称集的详细信息,请参阅 在 MDX (MDX) 中生成命名集

条件语句
条件语句将条件逻辑添加到 MDX 脚本。 此类别包括 CASEIF 语句。

赋值表达式
赋值表达式将表达式(如值)分配给受约束的子多维数据集。 受约束的子多维数据集表达式是一组约束集表达式的集合,用于定义 MDX 脚本中子多维数据集的“边缘”。 以下代码显示了受约束子多维数据集表达式的语法:

<Constrained subcube> ::= (   
    ( <Constrained set> [<Crossjoin operator> <Constrained set>...] |  
    <ROOT function> |  
    <TREE function> |  
    LEAVES() |  
    * ) [, <Constrained subcube>...]  
<Constrained set> ::=   
    <Natural hierarchy>.MEMBERS |   
    <Natural hierarchy>.LEVEL(<numeric expression>).MEMBERS |   
    { <Natural hierarchy member> } |   
    DESCENDANTS( <Natural hierarchy member>, <Level expression>, ( SELF | AFTER | SELF_AND_AFTER ) ) |   
    DESCENDANTS( <Natural hierarchy member>, , LEAVES )  
<Natural hierarchy> ::= <Hierarchy identifier>  
<Natural hierarchy member> ::= <Natural hierarchy>.<identifier>[.<identifier>...]  

另请参阅

MDX 语言参考 (MDX)
MDX 脚本基本原理 (Analysis Services)