機械翻訳について

集合演算の実行

次のset関数は、キューブから追加情報を導出せずに入力セットを操作します:

表27-7 ピュア・セット関数のリスト

ピュア・セット機能 説明

CrossJoin, CrossJoinAttribute

異なるディメンションから2つのセットの断面を返します。

Distinct

重複するタプルをセットから削除します。

Except

2つのセット間の差を含むサブセットを返します。

Generate

反復関数。 set1のタプルごとに、set2を返します。

Head

セット内の最初のnメンバーまたはタプルを戻します。

Intersect

2つの入力セットの交差を返します。

Subset

セットからサブセットを返します。サブセットは、数値で指定されたタプルの範囲です。

Tail

セットに存在する最後のnメンバーまたはタプルを戻します。

Union

2つの入力セットの和集合を返します。

純粋なセット関数を使用したMDXの例については、リンクをクリックしてください。

演習: Intersect関数の使用

Intersect MDX関数は、交差する2つの入力セットを返し、オプションで重複を保持します。 構文:

Intersect (set, set [,ALL])

Intersect関数を使用して、両方のセットに存在するタプルを検索することでセットを比較します。

Intersect関数を使用するには:

  1. qry_blank.txt (問合せの要素の理解から作成した問合せテンプレート)を開きます。
  2. 軸から中カッコ{}を削除し、Intersect()に置き換えます。 次に例を示します。
    SELECT
       Intersect (
    
       )
    ON COLUMNS
    FROM Sample.Basic
  3. Intersect関数に指定する2つのset引数のプレースホルダーとして使用するカッコのペアを2つカンマで区切って追加します。 次に例を示します。
    SELECT
       Intersect ( 
       { },
       { }
       )
    ON COLUMNS
    FROM Sample.Basic
  4. 最初のset引数としてEastの子を指定します。 次に例を示します。
    SELECT
       Intersect (
       { [East].children },
       { }
       )
    ON COLUMNS
    FROM Sample.Basic
  5. 2番目のset引数には、UDAがMajor MarketであるMarketディメンションのすべてのメンバーを指定します。 次に例を示します。
    SELECT
       Intersect (
       { [East].children },
       { UDA([Market], "Major Market") }
       )
    ON COLUMNS
    FROM Sample.Basic
  6. 問合せをqry_intersect_func.txtとして保存します。
  7. 演習: 最初の問合せの実行の説明に従って、問合せをMaxLクライアントに貼り付けて実行します。

UDAが"Major Market"であるEastのすべての子が返されます。 例:

New York   Massachusetts   Florida

8202       6172            5029

演習: union関数の使用

Union MDX関数は、2つの入力セットを結合し、オプションで重複を保持します。 構文:

Union (set, set [,ALL])

Union関数を使用して、2つのセットを1つのセットにまとめます。

Union関数を使用するには:

  1. qry_intersect_func.txt (演習: Intersect関数の使用で作成した問合せ)を開きます。
  2. IntersectUnionに置き換えます。
  3. 問合せをqry_union_func.txtとして保存します。
  4. 問合せをMaxLクライアントに貼り付けて実行します。

Intersectは、Major MarketというUDAを持つEastの子のみを含むセットを戻しましたが、Unionは、Major MarketというUDAを持つEastメンバーとMarketメンバーのすべての子を戻します。