機械翻訳について

CrossJoin

異なるディメンションの2つのセットのクロス積を返します。

構文

CrossJoin ( set1, set2 )

パラメータ

set1

set2と交差するセット。

set2

set1と交差するセット。 set1で使用されるディメンションを含めないでください。

ノート

この関数は、異なるディメンションの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の結果を、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
ニューヨーク 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

関連項目

CrossJoinAttribute