NonEmpty (MDX)
指定されたセットと 2 番目のセットのクロス積に基づいて、指定されたセットから空ではない組のセットを返します。
構文
NONEMPTY(set_expression1 [,set_expression2])
引数
set_expression1
セットを返す有効な多次元式 (MDX) 式です。set_expression2
セットを返す有効な多次元式 (MDX) 式です。
説明
この関数は、指定されている 1 番目のセット内の組のうち、2 番目のセット内のすべての組に対して評価した際に空でなかった組を返します。 NonEmpty 関数は、計算を考慮し、重複する組を保持します。 2 番目のセットが指定されなかった場合、属性階層のメンバーとキューブ内のメジャーの現在の座標のコンテキストで式が評価されます。
注意
推奨されていない NonEmptyCrossjoin (MDX) 関数でなく、この関数を使用するようにしてください。
重要
空ではないという特性は、組自体ではなく、組から参照されるセルの特性です。
使用例
次のクエリでは、NonEmpty の簡単な例を示しています。これは、2001 年 7 月 1 日に Internet Sales Amount が NULL 以外の値である、すべての顧客を返します。
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]