CrossJoin

EssbaseのMDX CrossJoin関数は、異なるディメンションの2つのセットのクロス積を返します。

構文

CrossJoin ( set1, set2 )

パラメータ

set1

set2とクロスするセット。

set2

set1とクロスするセット。set1内で使用されているディメンションは含められません。

ノート

この関数は、異なるディメンションからの2つのセットの製品間を返します。2つのセットが共通のディメンションを共有している場合、エラーが返されます。

入力セットの1つが空の場合、出力セットも空になります。たとえば、入力セットが[Root Beer].childrenであるが、[Root Beer]に子がない場合、出力は空になります。

CrossJoin関数に提供されるセット(およびそれらを構成するタプル)の順序は、結果セット内のタプルの順序に影響を与えます。次に例を示します。

CrossJoin({a, b}, {c, d})

{(a, c), (a, d), (b, c), (b, d)}を返します

CrossJoin({a, b, c}, {d, e, f})

{(a, d), (a, e), (a, f), (b, d), (b, e), (b, f), (c, d), (c, e), (c, f)}を返します

CrossJoinの結果を、順序に依存するHeadTailなどの他の設定関数で使用する場合は、出力セットの順序に注意してください。

例1

次の式:

CrossJoin({[Qtr1], [Qtr2]}, {[New York], [California]})

返すセット:

{([Qtr1], [New York]), ([Qtr1], [California]), 
 ([Qtr2], [New York]), ([Qtr2], [California])}
  

この結果を受けた次の問合せ:

SELECT
CrossJoin({[Qtr1], [Qtr2]}, {[New York], [California]})
ON COLUMNS
FROM sample.basic

返すグリッド:

表4-49 MDX例からの出力グリッド

Qtr1 Qtr1 Qtr2 Qtr2
New York California New York California
1656 3129 2363 3288

例2

次の式:

CrossJoin({[Qtr1], [Qtr2], [Qtr3]}, {[New York], [California], [Texas]})

返すセット:

{([Qtr1], [New York]), ([Qtr1], [California]), ([Qtr1], [Texas]), 
([Qtr2], [New York]), ([Qtr2], [California]), ([Qtr2], [Texas]), 
([Qtr3], [New York]), ([Qtr3], [California]), ([Qtr3], [Texas])}

この結果を受けた次の問合せ:

SELECT
CrossJoin({[Qtr1], [Qtr2], [Qtr3]}, {[New York], [California], [Texas]})
ON AXIS(0) 
FROM Sample.Basic
  

返すグリッド:

表4-50 MDX例からの出力グリッド

Qtr1 Qtr1 Qtr1 Qtr2 Qtr2 Qtr2 Qtr3 Qtr3 Qtr3
New York California Texas New York California Texas New York California Texas
1656 3129 1582 2363 3288 1610 1943 3593 1703

例3

次の式:

CrossJoin ([100].children, [Profit].children)
  

返すセット:

{([100-10], Margin), ([100-10], [Total Expenses]), 
 ([100-20], Margin), ([100-20], [Total Expenses]),
 ([100-30], Margin), ([100-30], [Total Expenses])}
  

この結果を受けた次の問合せ:

SELECT
 {([Market].levels(1).members)} 
ON COLUMNS, 
 CrossJoin ([100].children, [Profit].children)
ON ROWS
FROM Sample.Basic
  

返すグリッド:

表4-51 MDX例からの出力グリッド

(軸) (軸) East West South Central
100–10 Margin 15762 8803 5937 8124
Total Expenses 4633 4210 2361 4645
100–20 Margin 1785 3707 2767 7426
Total Expenses 671 4241 1570 3495
100–30 Margin 871 1629 #Missing 3975
Total Expenses 458 2139 #Missing 1895

関連項目

CrossJoinAttribute