条件にマッチする間だけ処理を繰り返したい

キーワード:条件指定,デクリメント,減算
シナリオ一覧に戻る

概要

条件を指定し、条件にマッチする間だけ処理を繰り返したい場合、繰り返し(条件指定)処理を使用します。

サンプルプロジェクトの説明

CSVファイルを読み取り、初期値を10に設定したスクリプト変数が「0より大きい」という条件にマッチする間、CSV書き込み処理を繰り返し実行します。
繰り返し処理の中で条件に指定したスクリプト変数を1ずつ減算します。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. CSVファイル読み取り処理」で入力ファイルを読み取ります。
  2. 繰り返し(条件指定)処理」で以下の条件にマッチする間、処理を繰り返します。
  3. CSVファイル書き込み処理」で項番がカウンタと一致するデータを出力します。
  4. 変数代入処理」でスクリプト変数「カウンタ」を1ずつ減算します。
実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「output.csv」を参照してください。

ポイントとなる機能

名前 説明 ツールパレット上の場所
繰り返し(条件指定)処理 指定された条件を満たしている間、処理を繰り返します。 「基本」-「フロー」-「繰り返し(条件指定)」

処理のポイント

繰り返し(条件指定)処理の[条件]を設定します。
条件に設定した変数を、繰り返し(条件指定)処理の中で減算します。

サンプルプロジェクトの使用方法

上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。

サンプルプロジェクトファイル名 rl_reference_017.zip
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_017.zip」を展開します。

  2. プロジェクトのアップロード
    「rl_reference_017.zip」を展開後に作成される「rl_reference_017プロジェクト」ディレクトリがプロジェクトファイルとなります。
    DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_017プロジェクト」をアップロードしてください。

  3. サンプルデータの準備
    「rl_reference_017.zip」を展開後に作成される「samples」ディレクトリがサンプルデータとなります。
    $DATASPIDER_HOME/server/samplesディレクトリに上書きしてください。

スクリプトの作成手順

プロセスフローおよびデータフローは、「サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. 繰り返し条件として使用するスクリプト変数を作成します。

  2. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル読み取り」から、CSVファイル読み取り処理をスクリプトキャンバスに配置します。

  3. デザイナのツールパレット「基本」-「フロー」-「繰り返し(条件指定)」から、繰り返し(条件指定)処理をスクリプトキャンバスに配置します。

  4. デザイナのツールパレット「変換」-「基本」-「マッピング」から、マッピング処理をスクリプトキャンバスに配置します。

  5. デザイナのツールパレット「ファイル」-「CSV」-「CSVファイル書き込み」から、CSVファイル書き込み処理をスクリプトキャンバスに配置します。

  6. マッピング処理のMapperエディタを開き、入力データの「項番」がスクリプト変数「カウンタ」と等しいデータのみを抽出する処理を作成します。

  7. デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。

  8. 変数代入処理のMapperエディタを開き、スクリプト変数を減算する処理を作成します。

  9. スクリプトを実行し、正常終了すれば成功です。