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]