NonEmptySubset
入力セットを指定すると、NonEmptySubsetは、すべてのタプルが空でないと評価されるその入力セットのサブセットを返します。 空でないチェックにはオプションの値式を指定できます。
この関数は、空でない組合せのセットが小さいことがわかっている大規模なセットに基づく問合せを最適化するのに役立ちます。 NonEmptySubsetでは、メトリックが保持されるようにセットのサイズが縮小されます。たとえば、特定の単位の子孫の空でないサブセットをリクエストできます。
NonEmptySubsetは、後続のアナリティク取得の前にセットのサイズを小さくするために使用されます。
構文
NonEmptySubset (set [, value_expression [, dimension...]])パラメータ
ノート
Value_expressionを使用する場合は、保管済メンバーまたは単純な式にする必要があります。 value_expressionが複雑な式の場合、空でないサブセットの取得は最適化されません。
例
次の例では、Units (パッケージ当たりのアイテム数)に関する下位10の製品を取得し、そのセットのCrossJoinおよび[Albany - NY]のレベル0メンバー(郵便番号)を返します。
WITH SET Bottom_10
AS '
BottomCount(
Leaves(Products),
10,
Units
)
'
SELECT
{Units}
ON COLUMNS,
NonEmptySubset(CrossJoin(Bottom_10, Leaves([Albany - NY])))
ON ROWS
FROM Asosamp.Sampleこの問合せでは、次のグリッドが返されます:
表4-118 MDXからの出力グリッドの例
| (軸) | パッケージ当たりのアイテム数 |
|---|---|
| デジタル・カメラ,12201 | 4 |
| Camcorders,12201 | 3 |
| フォト・プリンタ, 12201 | 2 |
| デジタル・レコーダ, 12201 | 2 |
| Desktops,12201 | 3 |
| デジタル・カメラ,12212 | 5 |
| Camcorders,12212 | 2 |
| フォト・プリンタ, 12212 | 3 |
| フラット・パネル, 12212 | 1 |
| HDTV,12212 | 1 |
| ホーム・シアター, 12212 | 1 |
| Desktops, 12212 | 2 |
| Notebooks,12212 | 1 |
| デジタル・カメラ,12223 | 1 |
| Camcorders,12223 | 1 |
| フォト・プリンタ,12223 | 4 |
| HTDV,12223 | 1 |
| Notebooks,12223 | 1 |
| Camcorders,12229 | 4 |
| HDTV,12229 | 1 |
| ホーム・シアター,12229 | 3 |
| Desktops,12229 | 1 |
| デジタル・カメラ,12249 | 2 |
| フォト・プリンタ,12249 | 3 |
| Projection TVs,12249 | 1 |
| HDTV,12249 | 2 |
| ホーム・シアター,12249 | 1 |
| デジタル・レコーダ,12249 | 1 |
| Notebooks,12249 | 1 |
| Camcorders,12257 | 2 |
| フォト・プリンタ,12257 | 4 |
| プロジェクションテレビ,12257 | 2 |
| HDTV,12257 | 1 |
| ホーム・シアター,12257 | 3 |
| デジタル・レコーダ,12257 | 1 |