使用元组表达式

元组由包含在立方体内的每个维度中的一个成员组成。 因此,元组唯一标识立方体中的单个单元格。

注释

引用一个或多个无效成员的元组称为空元组。

元组标识符的完整表达式由一个或多个明确指定的成员组成,括号内表示:

(Member_expression [ ,Member_expression ... ] )

元组可以是完全限定的,可以包含隐式成员,也可以只包含一个元。

元组与隐式成员

一个明确指定立方体内每个维度中单个成员的元组称为完全限定元组。 然而,元组不必完全限定。

任何未在元组中显式引用的维度都是隐式引用。 隐式引用维度的成员依赖于该维度的结构及其定义的属性关系。 如果存在对与隐式引用层级同一维度的层级的显式引用,并且明确引用的层级与隐式引用的层级之间存在直接或间接的关系,那么该元组的行为就像它包含了隐式引用层级中与显式引用层级中成员相同的成员。 例如,如果一个立方体包含带有城市和国家属性的客户维度,并且定义了这两者之间的关系,使得一个城市有一个国家,而一个国家可以包含多个城市,那么在元组中明确包含城市“伦敦”隐含了国家“联合王国”。 然而,如果没有定义属性关系,则关系方向相反(例如,尽管城市可能与国家有关系,但仅凭知道某人居住的国家无法判断某人居住的城市),或者两者之间没有直接关系(可能从客户到城市和客户与国家之间定义了关系), 但城市与乡村之间没有定义关系),则适用以下规则:

  • 如果隐式引用的层级有默认成员,则该默认成员会添加到元组中。

  • 如果隐式引用的层级没有默认成员,则使用默认层级中的 (全部) 成员。

  • 如果隐式引用的层级没有默认成员,则使用层级最高层的第一个成员。

One-Member 元组

如果元组表达式只有一个成员,MDX 会将该成员转换为单元组以求值表达式。 换句话说,提供成员表达式 [Measures].[TestMeasure] 而非元组表达式在功能上等价于元组表达式 ( [Measures].[TestMeasure] ).