共用方式為


NonEmpty (MDX)

根據指定集合與第二個集合的交叉乘積,從指定集合傳回非空的 Tuple 集合。

語法

NONEMPTY(set_expression1 [,set_expression2])

引數

  • set_expression1
    傳回集合的有效多維度運算式 (MDX) 運算式。

  • set_expression2
    傳回集合的有效多維度運算式 (MDX) 運算式。

備註

在第二個集合中的 Tuple 評估後,這個函數會傳回第一個指定集合中非空的 Tuple。NonEmpty 函數會考慮到計算並且保留重複的 Tuple。如果沒有提供第二個集合,則會在 Cube 中屬性階層和量值之成員的目前座標內容中,評估運算式。

[!附註]

請使用這個函數,而不要使用已被取代的 NonEmptyCrossjoin (MDX) 函數。

重要注意事項重要事項

非空的是 Tuple 所參考之資料格參考的特性,而不是 Tuple 本身的特性。

範例

下列查詢示範簡單的 NonEmpty 範例,它會傳回 2001 年七月一日的 Internet Sales Amount 值為非 null 的所有客戶:

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

NONEMPTY(

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

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

)

ON 1

FROM [Adventure Works]

下列範例使用 Filter 函數和 NonEmpty 函數,傳回包含客戶和購買日期的 Tuple 集合,以尋找每個客戶上次購買的日期:

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]