使用成员、元组和集(多维表达式,MDX)

MDX 提供许多函数,它们返回一个或多个成员、元组或集,或对成员、元组或集进行操作。

成员函数

MDX 提供了多个函数,用于从其他 MDX 实体(例如维度、级别、集或元组)检索成员。 例如, FirstChild 函数是一个对成员执行并返回成员的函数。

若要获取时间维度的第一个子成员,可以显式声明该成员,如以下示例所示。

SELECT [Date].[Calendar Year].[CY 2001] on 0  
FROM [Adventure Works]  
  

还可以使用该 FirstChild 函数返回与以下示例中相同的成员。

SELECT [Date].[Calendar Year].FirstChild on 0  
FROM [Adventure Works]  
  

有关 MDX 成员函数的详细信息,请参阅 MDX 函数引用 (MDX)。

元组函数

MDX 提供了多个返回元组的函数,并且可以在任何适合使用元组的位置应用这些函数。 例如, Item (Tuple) (MDX) 函数可用于从集中提取第一个元组,这在知道集由单个元组组成并且你想要向需要元组的函数提供该元组时非常有用。

以下示例返回列轴上元组集中的第一个元组。

SELECT {  
   ([Measures].[Reseller Sales Amount]  
      ,[Date].[Calendar Year].[CY 2003]  
   )  
, ([Measures].[Reseller Sales Amount]  
      ,[Date].[Calendar Year].[CY 2004]  
   )  
}.Item(0)  
ON COLUMNS   
FROM [Adventure Works]  

有关元组函数的详细信息,请参阅 MDX 函数参考 (MDX)。

设置函数

MDX 提供了多个返回集的函数。 显式键入元组并将其括在大括号中并不是获取集合的唯一方法。 有关成员函数返回集的详细信息,请参阅 MDX(Analysis Services)中的关键概念。 还有其他许多集函数。

冒号运算符允许使用成员的自然顺序来创建集。 例如,以下示例中显示的集包含 2002 年日历年第 1 季度到第 4 季度的元组。

SELECT   
   {[Calendar Quarter].[Q1 CY 2002]:[Calendar Quarter].[Q4 CY 2002]}   
ON 0  
FROM [Adventure Works]  

如果不使用冒号运算符来创建一个集合,可以通过在以下示例中指定元组来创建相同的一组成员。

SELECT {  
   [Calendar Quarter].[Q1 CY 2002],   
   [Calendar Quarter].[Q2 CY 2002],   
   [Calendar Quarter].[Q3 CY 2002],   
   [Calendar Quarter].[Q4 CY 2002]  
   } ON 0  
FROM [Adventure Works]  
  

冒号运算符是一个包容性函数。 冒号运算符两侧的成员包含在生成的集中。

有关设置函数的详细信息,请参阅 MDX 函数引用(MDX)。

数组函数

数组函数作用于集并返回数组。 有关数组函数的详细信息,请参阅 MDX 函数引用 (MDX)。

层次结构函数

层次结构函数通过对成员、级别、层次结构或字符串执行作来返回层次结构。 有关层次结构函数的详细信息,请参阅 MDX 函数引用 (MDX)。

层级函数

级别函数通过作用于成员、级别或字符串来返回级别。 有关级别函数的详细信息,请参阅 MDX 函数引用(MDX)。

逻辑函数

逻辑函数作用于 MDX 表达式,以返回有关表达式中元组、成员或集的信息。 例如, IsEmpty (MDX) 函数计算表达式是否返回了空单元格值。 有关逻辑函数的详细信息,请参阅 MDX 函数引用(MDX)。

数值函数

数值函数作用于 MDX 表达式,以返回一个标量值。 例如, Aggregate (MDX) 函数返回通过聚合指定集中元组的度量值计算的标量值。 有关数值函数的详细信息,请参阅 MDX 函数引用(MDX)。

字符串函数

字符串函数对 MDX 表达式执行返回字符串的行为。 例如, UniqueName (MDX) 函数返回一个字符串值,该值包含维度、层次结构、级别或成员的唯一名称。 有关字符串函数的详细信息,请参阅 MDX 函数引用(MDX)。

另请参阅

MDX中的关键概念(分析服务)
MDX 查询基础 (分析服务)
MDX 函数引用 (MDX)