逆引きテンプレートについて
HULFT Squareをご利用いただきありがとうございます。
本記事では、「複数のデータをマージしたい」のスクリプトについて、詳細および使用方法についてご案内します。
※逆引きテンプレートは、HULFT Squareの画面から「App Square」より、アプリケーション「逆引き ファイル操作」をインストールいただくことでご利用いただけます。
スクリプト名
複数のデータをマージしたい
Merge multiple data
概要
複数のデータを組み合わせたい場合、マージを使用します。
スクリプトの説明
2つのCSVファイル(「備品管理簿.csv」・「社員マスタ.csv」)をマージして「備品所有状況一覧.csv」を作成します。
「備品管理簿.csv」に存在するレコードを基準としてマージします。
処理の流れ
スクリプトの処理の流れは以下の通りです。
- 「CSVファイル読み取り処理」で入力ファイル「備品管理簿.csv」を読み取ります。
- 「CSVファイル読み取り処理」で入力ファイル「社員マスタ.csv」を読み取ります。
- 「マージ」の「Left-Right-Joinマージロジック」を用いて上記2つのファイルをマージします。
- 「CSVファイル書き込み処理」で出力ファイル「備品所有状況一覧.csv」を書き込みます。
入力データのイメージについては、「入力データ例」のサンプルデータ「備品管理簿.csv」、「社員マスタ.csv」を参照してください。
実行結果のイメージについては、「出力データ例」のサンプルデータ「備品所有状況一覧.csv」を参照してください。
ポイントとなる機能
| 名前 | 説明 | ツールパレット上の場所 |
|---|---|---|
| Left-Right-Joinマージロジック | Left-Right-Join形式でマージします。 | 「マージ」-「基本」-「Left-Right-Joinマージ」 |
処理のポイント
- 2つのファイルのキーがマッチしたデータは出力し、キーがマッチしなかったデータは「備品管理簿.csv」に存在するレコードのみ出力します。
- マージ用Mapperロジックのうち、Left-Right-Joinマージロジックを使用します。
スクリプトの使用方法
上記処理を実装したスクリプトを用意しています。スクリプトを使用する場合の手順は「HULFT Squareアプリケーションのより詳しい使い方」をご参照ください。
スクリプトの作成手順
プロセスフローおよびデータフローは、「スクリプトの説明」のスクリプト画像を参照して適宜設定してください。
- ファイル名として使用するスクリプト変数を作成します。
-
スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 必須/省略可 説明 I_inputDataFile 必須 入力データファイルのフルパス I_inputMasterFile 必須 入力マスタファイルのフルパス I_outputFile 必須 出力ファイルのフルパス
-
- 「備品管理簿.csv」を読み取るため、デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
-
CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
[読み取り設定]タブ
-
- 「社員マスタ.csv」を読み取るため、デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
-
CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
[読み取り設定]タブ
-
- デザイナのツールパレット「変換」-「基本」-「マージ」から、マージ処理をスクリプトキャンバスに配置します。
マージ処理には複数の入力元よりデータフローを引くことができます。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
-
CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
[書き込み設定]タブ
-
- マージ処理のMapperエディタを開き、Left-Right-Joinマージロジックを使用して、複数の入力データを1つの出力データにマッピングします。
-
マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) Left-Right-Joinマージ Left-Right-Join形式でマージします。 「マージ」-「基本」-「Left-Right-Joinマージ」 処理のポイント
-
出力の基準となる入力元「csv_read」のrow要素をLeft-Right-Joinマージロジックの第一ハンドラにマッピングします。
続いて、マージするキーとなる要素「所有者社員ID」を第二ハンドラにマッピングします。 -
マージする入力元「csv_read(1)」のrow要素を第三ハンドラにマッピングします。
続いて、マージするキーとなる要素「社員ID」を第四ハンドラにマッピングします。 - Left-Right-Joinマージから出力先「csv_write」のrow要素へマッピングします。
- 最後に、出力したい要素を入力元から出力先へマッピングします。
-
出力の基準となる入力元「csv_read」のrow要素をLeft-Right-Joinマージロジックの第一ハンドラにマッピングします。
-
- スクリプトを実行し、正常終了すれば成功です。
入出力データ例
-
入力データ例
-
備品管理簿.csv
備品管理ID,備品名称,種別,購入日,管理部,所有者社員ID 備09-01842,6人用ロッカー,オフィス家具,20091010,総務部, 備12-00983,シュレッダー,オフィス機器,20120608,情報システム部,K0006 備13-00021,受付デスク,オフィス家具,20130123,総務部, 備14-00015,ノートパソコン,パソコン,20140324,情報システム部,K0002 備14-00019,デジタルカメラ,オフィス機器,20140515,営業管理部,K0009
-
社員マスタ.csv
社員ID,氏名 K0001,サトウ K0002,スズキ K0003,タカハシ K0004,タナカ K0005,イトウ K0006,ヤマモト K0007,ワタナベ K0008,ナカムラ K0009,コバヤシ K0010,カトウ
-
-
出力データ例
-
備品所有状況一覧.csv
備品管理ID,備品名称,所有者 備12-00983,シュレッダー,ヤマモト 備14-00015,ノートパソコン,スズキ 備14-00019,デジタルカメラ,コバヤシ 備09-01842,6人用ロッカー, 備13-00021,受付デスク,
-
コメント
0件のコメント
記事コメントは受け付けていません。