CrossJoin
EssbaseのMDX CrossJoin関数は、異なるディメンションの2つのセットのクロス積を返します。
構文
CrossJoin ( set1, set2 )
ノート
この関数は、異なるディメンションからの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の結果を、順序に依存するHeadやTailなどの他の設定関数で使用する場合は、出力セットの順序に注意してください。
例
例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 |
関連項目