NonEmpty (MDX)

根据第一个指定集与第二个集的叉积,返回指定集中的非空元组集。

语法

NONEMPTY(set_expression1 [,set_expression2])

参数

  • set_expression1
    返回集的有效多维表达式 (MDX)。

  • set_expression2
    返回集的有效多维表达式 (MDX)。

注释

此函数返回位于第一个指定集中并且在对第二个集中的元组求值时不为空的元组。NonEmpty 函数将考虑计算并保留重复元组。如果未提供第二个集,将在多维数据集中属性层次结构和度量值的成员的当前坐标上下文中对表达式求值。

注意注意

使用此函数,而不使用不推荐的 NonEmptyCrossjoin (MDX) 函数。

重要说明重要提示

非空是元组所引用的单元的特征,而不是元组本身的特征。

示例

以下查询说明 NonEmpty 的简单示例,该函数返回 2001 年 7 月 1 日 Internet Sales Amount 的值为非 null 的所有 Customer:

SELECT [Measures].[Internet Sales Amount] ON 0,

NONEMPTY(

[Customer].[Customer].[Customer].MEMBERS

, {([Date].[Calendar].[Date].&[20010701], [Measures].[Internet Sales Amount])}

)

ON 1

FROM [Adventure Works]

以下示例将返回包含客户和采购日期的元组集,并且使用 Filter 函数和 NonEmpty 函数来查找每个客户的最后一次采购日期:

WITH SET MYROWS AS FILTER

(NONEMPTY

([Customer].[Customer Geography].[Customer].MEMBERS

* [Date].[Date].[Date].MEMBERS

, [Measures].[Internet Sales Amount]

) AS MYSET

, NOT(MYSET.CURRENT.ITEM(0)

IS MYSET.ITEM(RANK(MYSET.CURRENT, MYSET)).ITEM(0))

)

SELECT [Measures].[Internet Sales Amount] ON 0,

MYROWS ON 1

FROM [Adventure Works]