表达式 (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]
本节涉及的主题
主题 | 说明 |
---|---|
定义多维数据集和子多维数据集表达式。 |
|
定义维度表达式。 |
|
定义成员表达式。 |
|
定义元组表达式。 |
|
定义集表达式。 |
|
定义标量表达式。 |
|
说明什么是空值以及如何处理此类值。 |