# 結合プロセッサー

既存のデータセットを新しい結合レコードセットに変換します。

Join (結合) プロセッサーは、2 つのデータセット間で共通する値をマッチさせることにより、階層データをマップ、結合、変換します。

## Join (結合) のプロパティ

Join (結合) を使ってレコードを組み合わせられるよう設定するプロパティです。プロセッサー設定には、キーをいくつでも追加できます。

設定

| Property | 設定 |
| --- | --- |
| [Join type] (結合タイプ) | 必要な結合タイプをリストから選択します。<br><br><ul> <li> <p><span>[Inner join] (内部結合)</span>: この結合タイプを使用すると、列値がマッチする 2 つのデータセットが比較され、結果ペアがすべてリスト表示されます。互いに一致しない値は、結果セット内で無視されます。</p> </li> <li> <p><span>[Left outer join] (左外部結合)</span>: このオプションを使用すると、結合した出力リストにある左データセットの値がすべて保持されます。左データセット内のどの行とも一致しない値は、結果セットにNULLとしてリスト表示されます。</p> </li> <li> <p><span>[Right outer join] (右外部結合)</span>: このオプションを使用すると、左右の外部結合が組み合わされます。右データセット内のどの行とも一致しない値は、結果セットにNULLとしてリスト表示されます。</p> </li> <li> <p><span>[Full outer join] (完全外部結合)</span>: このオプションを使用すると、左右両方の外部結合が組み合わされます。一致する値を持たないすべての値は、結果セットにNULLとしてリスト表示されます。</p> </li> </ul> |
| [Merge input records] (入力レコードをマージ) | 左右両方のデータセットの階層構造を均一化およびグルーピングする場合は、このオプションを有効にします。<br><br>このオプションを有効にしない場合、デフォルトでは、左右のデータセットは結合操作前のものと同じ構造で出力されます。 |
| [Conditions] (条件) | <ul> <li><span>[Left key] (左キー)</span>: 左データセット内の既存のレコードへのパスを選択、または入力します。入力時にオートコンプリートが利用できます。 </li><li><span>[Right key] (右キー)</span>: 右データセット内の既存のレコードへのパスを選択、または入力します。入力時にオートコンプリートが利用できます。</li> </ul> |

プロセッサー名を変更する場合は、プロセッサーのデフォルト名にカーソルを合わせたときに表示される [![編集](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/processor-select-columns-edit_26x24.png) 編集] アイコンをクリックします。

説明を編集する場合は、 [説明] にカーソルを合わせたときに表示される [![編集](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Resources/Images/TransformationFlow/processor-select-columns-edit_26x24.png) 編集] アイコンをクリックします。

## 結合操作に関する追加情報

Join (結合) プロセッサーにより、異なる 4 タイプの結合操作を階層データに適用できます。結合操作の詳細および例については、「[Join](https://help.qlik.com/ja-JP/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Join.htm)」を参照してください。

### 内部結合

このタイプの結合操作は、次の目的で使われます:

* 2つのデータセットの間で共通の値をマッチングする。
* 一致するすべてのペアで結果セットを作成する。

結果セットは次のように決定されます:

* 結合ステートメントが満たされれば (左データセットが右データセットにマッチすれば）、マッチしたレコードはすべて組み合わされ、結果セット内に返されます。
* 結合ステートメントが満たされない場合、マッチしないレコードは無視されます。

### Left outer join (左外部結合)

このタイプの結合操作は、次の目的で使われます:

* 2 つのデータセット間で共通する値をマッチさせ、かつ左データセット内に存在する値をすべて保持する。
* これらのレコードを組み合わせた結果セットを作成する。

結果セットは次のように決定されます:

* 結合ステートメントが満たされれば (左データセットにあるものすべて、および 2 つのデータセットでマッチするもの）、左データセット内のすべてのレコード、および左データセットと右データセット間でマッチするレコードが組み合わされ、結果セット内に返されます。
* 結合ステートメントが満たされない場合、マッチしないレコードは無視されます。

### Right outer join (右外部結合)

このタイプの結合操作は、次の目的で使われます:

* 2つのデータセットの間で共通の値をマッチングし、かつ、右データセット内に存在するすべての値を保持する。
* これらのレコードを組み合わせた結果セットを作成する。

結果セットは次のように決定されます:

* 結合ステートメントが満たされれば (左および右データセットにあるものすべて、および 2 つのデータセットでマッチするもの）、右データセット内のすべてのレコード、および左データセットと右データセット間でマッチするレコードが組み合わされ、結果セット内に返されます。
* 結合ステートメントが満たされない場合、マッチしないレコードは無視されます。

### Full outer join

このタイプの結合操作は、次の目的で使われます:

* 左と右のデータセット内の一致する値をすべて保持する。
* これらのレコードを組み合わせた結果セットを作成する。

結果セットは次のように決定されます。

* 結合ステートメントが満たされれば (左および右データセットにあるものすべて、および 2 つのデータセットでマッチするもの）、左データセットと右データセット内のすべてのレコード、および左データセットと右データセット間でマッチするレコードが組み合わされ、結果セット内に返されます。
* 結合ステートメントが満たされない場合、マッチしないレコードは結果セット内に Null としてリスト表示されます。