CrossJoin
異なるディメンションの2つのセットのクロス積を返します。
構文
CrossJoin ( set1, set2 )
ノート
この関数は、異なるディメンションの2つのセットのクロス積を戻します。 2つのセットが共通のディメンションを共有している場合は、エラーが返されます。
いずれかの入力セットが空の場合、出力セットも空になります。 たとえば、入力セットが[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 |
---|---|---|---|
ニューヨーク | California | ニューヨーク | 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 |
---|---|---|---|---|---|---|---|---|
ニューヨーク | California | テキサス | ニューヨーク | California | テキサス | ニューヨーク | California | テキサス |
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からの出力グリッドの例
(軸) | (軸) | 東部 | West | 南部 | 中部 |
---|---|---|---|---|---|
100-10 | マージン | 15762 | 8803 | 5937 | 8124 |
費用合計 | 4633 | 4210 | 2361 | 4645 | |
100-20 | マージン | 1785 | 3707 | 2767 | 7426 |
費用合計 | 671 | 4241 | 1570 | 3495 | |
100-30 | マージン | 871 | 1629 | #Missing | 3975 |
費用合計 | 458 | 2139 | #Missing | 1895 |
関連項目