表达式 (MDX)

表达式是标识符、值和运算符的组合,Microsoft SQL Server 2005 Analysis Services (SSAS) 可以通过计算表达式来获得结果。访问或更改数据时,可在多个不同的位置使用数据。例如,可以将表达式用作查询要检索的数据的一部分,或用作查找满足一组条件的数据的搜索条件。

简单表达式和复杂表达式

在 MDX 中,表达式可以是简单的,也可以是复杂的:

简单表达式可以是下列几种表达式之一:

  • 常量
    在 MDX 中,常量是表示单个特定值的符号。字符串、数字和日期值可以呈现为常量。与数值常量不同,字符串和日期常量必须用单引号 (') 字符分隔开。
  • 标量函数
    在 MDX 中,标量函数返回计算上下文内的单个值。此区别对于理解 MDX 如何解析标量函数很重要,因为不是对单个数据元素计算大多数 MDX 表达式、语句和脚本,而是重复地对一组数据元素(如单元或成员)进行计算。但在计算标量函数时,函数通常查看单个数据元素。
  • 对象标识符
    由于多维数据的本质,因此 MDX 是面向对象的。在 MDX 中,对象标识符被视为简单表达式。有关标识符的详细信息,请参阅标识符 (MDX)
  • 变量
    MDX 脚本可以包含用户定义变量以保留信息。变量只能用在表达式中,不能替换关键字或对象标识符。

可以从用运算符联接的这些实体的组合生成复杂表达式。

表达式结果

对于由单个常量、变量、标量函数或列名组成的简单表达式,其数据类型、排序规则、精度、小数位数和值就是它所引用的元素的数据类型、排序规则、精度、小数位数和值。因为 MDX 仅直接支持 OLE VARIANT 数据类型,所以使用简单表达式时不会发生强制。

对于复杂表达式,当使用两个或多个不同数据类型的简单表达式时,可以发生强制。

表达式示例

表达式还可以是计算,例如 [Measures].[Discount Amount] * 1.5。下面的示例说明如何在 MDX SELECT 语句使用计算来定义成员:

WITH 
   MEMBER [Measures].[Special Discount] AS
   [Measures].[Discount Amount] * 1.5
SELECT 
   [Measures].[Special Discount] on COLUMNS,
   NON EMPTY [Product].[Product].MEMBERS  ON Rows
FROM [Adventure Works]

本节涉及的主题

主题 说明

使用多维数据集表达式和子多维数据集表达式

定义多维数据集和子多维数据集表达式。

使用维度表达式

定义维度表达式。

使用成员表达式

定义成员表达式。

使用元组表达式

定义元组表达式。

使用集表达式

定义集表达式。

使用标量表达式

定义标量表达式。

使用空值

说明什么是空值以及如何处理此类值。

请参阅

概念

MDX 语言参考 (MDX)

其他资源

MDX 查询基础知识 (MDX)

帮助和信息

获取 SQL Server 2005 帮助