逆引きテンプレートについて
HULFT Squareをご利用いただきありがとうございます。
本記事では、「CSVファイルでマスタチェックし、マッチしたデータを出力したい」のスクリプトについて、詳細および使用方法についてご案内します。
※逆引きテンプレートは、HULFT Squareの画面から「App Square」より、アプリケーション「逆引き データ抽出」をインストールいただくことでご利用いただけます。
スクリプト名
CSVファイルでマスタチェックし、マッチしたデータを出力したい
Check master and output matching data
概要
入力データをCSVファイルでマスタチェックし、マッチしたデータを出力したい場合、CSVファイルによる置換ロジックを使用します。
スクリプトの説明
CSVファイルを読み取り、「会社コード」をキーにCSVファイル形式のマスタデータを参照し、「会社名」を取得します。
CSVファイル形式のマスタデータに該当の「会社コード」がある場合、CSVファイルへ出力を行います。
処理の流れ
スクリプトの処理の流れは以下の通りです。
- 「CSVファイル読み取り処理」でCSVファイルを読み取ります。
- 「マッピング処理」の「CSVファイルによる置換ロジック」でCSVファイル形式のマスタデータから、「会社コード」にマッチした「会社名」を取得します。
「条件による抽出ロジック」でマッチしたレコードのみを抽出します。 - 「CSVファイル書き込み処理」で抽出したデータをCSVファイルに出力します。
入力データのイメージについては、「入力データ例」のサンプルデータ「input.csv」、「mst.csv」を参照してください。
実行結果のイメージについては、「出力データ例」のサンプルデータ「output.csv」を参照してください。
ポイントとなる機能
| 名前 | 説明 | ツールパレット上の場所 |
|---|---|---|
| CSVファイルによる置換ロジック | 入力文字列をCSVファイルにより置換して返します。 | 「文字列」-「変換」-「CSVファイルによる置換」 |
処理のポイント
- CSVファイルによる置換ロジックで、入力データとマスタデータの「会社コード」がマッチした場合、マスタデータの「会社名」に置換します。
- 置換が行われたレコードのみを抽出することでマッチしたデータのみ出力することが可能です。
スクリプトの使用方法
上記処理を実装したスクリプトを用意しています。スクリプトを使用する場合の手順は「HULFT Squareアプリケーションのより詳しい使い方」をご参照ください。
スクリプトの作成手順
プロセスフローおよびデータフローは、「スクリプトの説明」のスクリプト画像を参照して適宜設定してください。
- ファイル名として使用するスクリプト変数を作成します。
-
スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 必須/省略可 説明 I_inputFile 必須 入力データファイルのフルパス I_csvTableFile 必須 入力マスタファイルのフルパス I_outputFile 必須 出力ファイルのフルパス
-
- マスタデータを読み取るため、デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
-
CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
[読み取り設定]タブ
-
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
-
CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
[書き込み設定]タブ
-
- マッピング処理のMapperエディタを開き、マスタデータから「会社コード」をキーに「会社名」を取得し、マッチしたレコードのみを抽出する処理を作成します。
-
マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 条件による抽出 条件にマッチしたもののみ繰り返して出力します。 「繰り返し」-「条件指定」-「条件による抽出」 (2) 同じでない 二つの入力文字列が異なるかどうか判定します。 「条件」-「文字列」-「同じでない」 (3) CSVファイルによる置換 入力文字列をCSVファイルにより置換して返します。
[必須設定]タブは以下のように設定してください。
CSVファイル名 ${I_csvTableFile} 1行目のヘッダーをスキップ チェックを入れる マッチング方法 完全一致 置換方法 完全置換 「文字列」-「変換」-「CSVファイルによる置換」 処理のポイント
- 入力値がマスタファイルの1列目の値である「会社コード」にマッチする場合、ファイルの2列目の値である「会社名」に置換します。
- 置換が行われたレコードのみを抽出することでマッチしたデータのみ出力することが可能です。
-
- スクリプトを実行し、正常終了すれば成功です。
入出力データ例
-
入力データ例
-
input.csv
受注ID,会社コード,伝票番号,明細番号,製品コード,製品種別,数量,受注日 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT13,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100011,COMP01,1,1001,PRODUCT22,N,100,2006/02/10 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT15,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT13,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT22,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT20,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP03,1,1003,PRODUCT15,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT22,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT20,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP03,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT22,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP03,1,1002,PRODUCT15,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT20,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT13,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP03,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP03,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT35,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT16,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT35,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT16,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT31,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT16,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT17,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT35,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT31,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT17,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13 100011,COMP01,1,1001,PRODUCT11,N,100,2006/02/10 100012,COMP01,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP01,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,1,1002,PRODUCT44,N,50,2006/02/13
-
mst.csv
会社コード,会社名 COMP02,モアグッズ2号店 COMP03,モアグッズ3号店
-
-
出力データ例
-
output.csv
受注ID,会社コード,会社名,伝票番号,明細番号,製品コード,製品種別,数量,受注日 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT22,N,50,2006/02/13 100013,COMP03,モアグッズ3号店,1,1003,PRODUCT15,N,15,2006/02/10 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100012,COMP03,モアグッズ3号店,1,1002,PRODUCT12,N,200,2006/02/10 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT22,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100012,COMP03,モアグッズ3号店,1,1002,PRODUCT15,N,200,2006/02/10 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT13,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100012,COMP03,モアグッズ3号店,1,1002,PRODUCT12,N,200,2006/02/10 100013,COMP03,モアグッズ3号店,1,1003,PRODUCT12,N,15,2006/02/10 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT31,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT31,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13 100021,COMP02,モアグッズ2号店,1,1001,PRODUCT41,U,3,2006/02/11 100022,COMP02,モアグッズ2号店,1,1002,PRODUCT44,N,50,2006/02/13
-
コメント
0件のコメント
記事コメントは受け付けていません。