在多维表达式(MDX)中向函数传递参数时,通常使用维度和层级表达式,以返回层级中的成员、集合或元组。
维度表达式只能是简单表达式,因为它们是对象标识符。 关于简单表达式和复杂表达式的解释,请参见表达式(MDX)。
维表达式
维度表达式要么包含维度标识符,要么包含维度函数。
维度表达很少单独使用。 相反,你通常需要在一个维度上指定一个层级结构。 唯一的例外是当你使用测量维度时,它没有层级结构。
以下示例展示了一个计算出的成员,使用了[Measures]表达式和 。成员和计数()函数用于返回度量维度上的成员数量:
WITH MEMBER [Measures].[MeasureCount] AS
COUNT([Measures].MEMBERS)
SELECT [Measures].[MeasureCount] ON 0
FROM [Adventure Works]
维度标识符在用于描述MDX语句的BNF符号中以 Dimension_Name 形式出现。
层级表达
同样,层级表达式包含层级标识符或层级函数。 以下示例展示了层级表达式[Date]的使用。[日历],以及 .等级和。计数函数,用于返回日期维度日历层级中的层级数:
WITH MEMBER [Measures].[CalendarLevelCount] AS
[Date].[Calendar].Levels.Count
SELECT [Measures].[CalendarLevelCount] ON 0
FROM [Adventure Works]
层级表达式最常见的使用场景是与 。成员的功能是返回层级结构上的所有成员。 以下示例返回了[日期]的所有成员。[日历]在行轴上:
SELECT [Measures].[Internet Sales Amount] ON 0,
[Date].[Calendar].MEMBERS ON 1
FROM [Adventure Works]
层级标识符在用于描述MDX语句的BNF符号中以 Dimension_Name.Hierarchy_Name 出现。