逆引きテンプレートについて
HULFT Squareをご利用いただきありがとうございます。
本記事では、「条件にマッチする間だけ処理を繰り返したい」のスクリプトについて、詳細および使用方法についてご案内します。
※逆引きテンプレートは、HULFT Squareの画面から「App Square」より、アプリケーション「逆引き 処理制御」をインストールいただくことでご利用いただけます。
スクリプト名
条件にマッチする間だけ処理を繰り返したい
Repeat processing while matching
概要
条件を指定し、条件にマッチする間だけ処理を繰り返したい場合、繰り返し(条件指定)処理を使用します。
スクリプトの説明
CSVファイルを読み取り、初期値を10に設定したスクリプト変数が「0より大きい」という条件にマッチする間、CSV書き込み処理を繰り返し実行します。
繰り返し処理の中で条件に指定したスクリプト変数を1ずつ減算します。
処理の流れ
スクリプトの処理の流れは以下の通りです。
- 「CSVファイル読み取り処理」で入力ファイルを読み取ります。
- 「繰り返し(条件指定)処理」で以下の条件にマッチする間、処理を繰り返します。
- スクリプト変数「L_counter」が0より大きい
- 「変数代入処理」でスクリプト変数「L_counter」を1ずつ減算します。
入力データのイメージについては、「入力データ例」のサンプルデータ「input.csv」を参照してください。
実行結果のイメージについては、「出力データ例」のサンプルデータ「output.csv」を参照してください。
ポイントとなる機能
| 名前 | 説明 | ツールパレット上の場所 |
|---|---|---|
| 繰り返し(条件指定)処理 | 指定された条件を満たしている間、処理を繰り返します。 | 「基本」-「フロー」-「繰り返し(条件指定)」 |
処理のポイント
- 繰り返し(条件指定)処理の[条件]を設定します。
- 条件に設定した変数を、繰り返し(条件指定)処理の中で減算します。
スクリプトの使用方法
上記処理を実装したスクリプトを用意しています。スクリプトを使用する場合の手順は「HULFT Squareアプリケーションのより詳しい使い方」をご参照ください。
スクリプトの作成手順
プロセスフローおよびデータフローは、「スクリプトの説明」のスクリプト画像を参照して適宜設定してください。
- ファイル名として使用するスクリプト変数を作成します。
-
スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 必須/省略可 説明 I_inputFile 必須 入力ファイルのフルパス I_outputFile 必須 出力ファイルのフルパス
-
- 繰り返し条件として使用するスクリプト変数を作成します。
-
スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 変数型 初期値 L_counter 整数型 10
-
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。
-
CSVファイル読み取り処理の設定は、以下のように行います。
[必須設定]タブ
-
- デザイナのツールパレット「基本」-「フロー」-「繰り返し(条件指定)」から、繰り返し(条件指定)処理をスクリプトキャンバスに配置します。
-
繰り返し(条件指定)処理の設定は、以下のように行います。
[必須設定]タブ
処理のポイント
- [条件]には指定した変数と固定値または変数との比較をすることができます。
- 変数にはスクリプト変数およびコンポーネント変数が指定可能です。
-
- デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。
- デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。
-
CSVファイル書き込み処理の設定は、以下のように行います。
[必須設定]タブ
[書き込み設定]タブ
[上書き]の[追加書き込み]にチェックを入れます。
-
- マッピング処理のMapperエディタを開き、入力データの「項番」がスクリプト変数「L_counter」と等しいデータのみを抽出する処理を作成します。
-
マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 条件による抽出 条件にマッチしたもののみ繰り返して出力します。 「繰り返し」-「条件指定」-「条件による抽出」 (2) 同じ 二つの入力文字列が等しいかどうか判定します。 「条件」-「文字列」-「同じ」 (3) 掛け算 二つの入力数値を掛けて返します。 「数値」-「演算」-「掛け算」
-
- デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。
- 変数代入処理のMapperエディタを開き、スクリプト変数を減算する処理を作成します。
-
マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 引き算 上入力数値からした入力数値を引いて返します。 「数値」-「演算」-「引き算」 (2) 数値定数 数値定数を出力します。
[必須設定]タブの[数値]は「1」を設定します。「数値」-「基本」-「数値定数」
-
- スクリプトを実行し、正常終了すれば成功です。
入出力データ例
-
入力データ例
-
input.csv
項番,商品名,売上個数,金額 1,鉛筆,12,100 2,ボールペン,6,150 3,画用紙,1,600 4,色紙,8,200 5,カッター,4,180 6,のり,5,130 7,接着剤,7,250 8,クレヨン,9,500 9,テープ,16,160 10,封筒,7,80
-
-
出力データ例
-
output.csv
項番,商品名,売上個数,金額,合計金額 10,封筒,7,80,560 9,テープ,16,160,2560 8,クレヨン,9,500,4500 7,接着剤,7,250,1750 6,のり,5,130,650 5,カッター,4,180,720 4,色紙,8,200,1600 3,画用紙,1,600,600 2,ボールペン,6,150,900 1,鉛筆,12,100,1200
-
コメント
0件のコメント
記事コメントは受け付けていません。