SPSS Modeler ノードリファレンス 2-5 レコード結合

# 2-5 レコード結合ノード[レコード設定タブ]
<img width="200" alt="107_89レコード結合.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/ac019a2f-a3e4-cd41-2c7d-d8a9c9bf7f2e.png">

## 1.ノードの目的
複数のテーブルをIDをキーに横方向に結合（マージ）します。

## 2.解説動画（60秒）

<iframe width="560" height="315" src="https://www.youtube.com/embed/SFCCy57EyKU" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>


## 3.クイックスタート
視聴者が閲覧した①Webログデータに対応する顧客属性と態度を②アンケートデータから結合します。＊データは[5.参考情報]からダウンロードできます。

①Webログ
![スクリーンショット 2022-01-21 15.05.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/d25e1002-ec35-f563-a59f-0f097542c5c9.png)

②アンケート
![スクリーンショット 2022-02-21 11.09.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3a094e7e-eddd-8e47-423c-b64d16cd10f7.png)


ふたつの[可変長ファイル]ノードに[レコード結合]ノードと[テーブル]ノードを順番に接続します。このとき[レコード結合]に①ログデータ②アンケートの順で接続します。
![スクリーンショット 2022-02-21 11.12.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/91465077-0e1c-b588-bcff-ddc59d636740.png)

[レコード結合]ノードをダブルクリックして編集します。[レコード結合方法]を[キー]（赤枠）、[結合キー]を[顧客番号]にします（青枠）。結合方式は内部結合を選択します（緑枠）。
![スクリーンショット 2022-02-21 11.16.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/0ea096c3-e6ca-2bd6-8219-bc3f97b53655.png)

[テーブル]ノードを実行します。Webサイトの1499名の視聴者の行動データに対応するアンケート情報が結合しました。
![スクリーンショット 2022-02-21 11.22.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/627408e1-e2ae-0b02-a132-045515e2924d.png)

### レコード結合の注意点
#### 主テーブルの確定
最初に接続したテーブルを主としますが、入力タブから変更することも可能です。
![スクリーンショット 2022-02-21 11.24.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a5672a5a-d941-4825-96e4-927841d21b0d.png)

#### キーの表記の一致
例えば①のログデータのIDが[視聴ID]のように表記されていると、実態は同じフィールドでも結合できません。あらかじめフィルターで名称を一致させます。
![スクリーンショット 2022-02-21 11.30.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2f8ce804-dd66-2100-b75b-1b6260ee2ab9.png)

#### キーのデータ型の一致
表記も[顧客番号]で一致して桁数など見た目には同じでも片方が[整数]でもう一方が[文字列]として扱われていると結合できません。入力時点で以下のように強制的に一致するか[置換]ノードで変更しておきます。
![スクリーンショット 2022-02-21 11.34.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/629258f3-0070-ed9b-7828-4d2360aba4e6.png)

#### 結合方式
次のように２つのテーブルを結合することができます。
![スクリーンショット 2022-02-21 11.40.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/376d7f3f-3b2c-b346-57fe-8f879c403f39.png)
それぞれの結合方式のイメージは以下の通りです。
![スクリーンショット 2022-02-21 11.39.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/7140e123-2f63-52cf-9b50-9279e0d8c8d7.png)

## 4.Tips

#### 条件付きレコード結合で売り手と買い手のマッチング

https://community.ibm.com/community/user/blogs/yoichiro-nishimaki/2025/01/14/modelertips14

#### N対Nのテーブル結合の利点と注意

https://community.ibm.com/community/user/blogs/yoichiro-nishimaki/2025/01/14/modelertips13

## 5.参考情報

#### 利用データ

右クリックでリンク先を保存してください。

①Webログ

https://raw.githubusercontent.com/yoichiro0903n/blue/main/WebLog2021mac.csv

②アンケートデータ

https://raw.githubusercontent.com/yoichiro0903n/blue/main/attitude.csv

#### ノードのヘルプ

https://www.ibm.com/docs/ja/spss-modeler/18.3.0?topic=nodes-merge-node

#### SPSS Modeler 逆引きストリーム集（データ加工）

https://qiita.com/416nishimaki/items/4bf813e6cba84b2a1008

#### SPSS Modeler ノードリファレンス目次

https://qiita.com/416nishimaki/private/503037195081d3323eee