1件前の値と現在の値を比較したい

キーワード:値の比較,マッチング,データベース,CSV
シナリオ一覧に戻る

概要

データベースからデータを1件ずつ読み取り、現在のデータと1件前に読み取ったデータを比較します。
データが一致した場合、現在のデータをCSVファイルに出力します。

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

顧客情報データベースより取得したメールアドレスを繰り返し(データ件数)処理の中でスクリプト変数に代入します。
現在および前回のデータを代入したスクリプト変数を比較し、一致した場合に現在のデータをCSVファイルに出力します。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. 検索系SQL実行処理」でデータベースからデータを読み取ります。
  2. 繰り返し(データ件数)処理」でレコードごとに以下の処理を繰り返します。
  3. 変数代入処理」で現在のメールアドレスの値を「メール_現在」というスクリプト変数に代入します。
  4. 条件分岐処理」で「メール_現在」と「メール_前回」のスクリプト変数の値を比較します。
  5. 「メール_現在」と「メール_前回」の値が一致した場合、「CSVファイル書き込み処理」でCSVファイルに現在のデータを書き込みます。
  6. 変数代入処理」で「メール_現在」の値を「メール_前回」というスクリプト変数に代入します。
実行結果のイメージについては、サンプルプロジェクトのサンプルデータ「output.csv」を参照してください。

ポイントとなる機能

名前 説明 ツールパレット上の場所
条件分岐処理 条件分岐を行います。 「基本」-「フロー」-「条件分岐」

処理のポイント

データが一致した場合にCSVファイル書き込み処理を行うため、条件分岐処理の[条件][変数と変数の比較]を設定します。

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

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

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

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

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

  4. サンプルデータベースの準備
    共通サンプルDBの「sample.zip」を展開し、「Sample.mdb」をODBCのデータソースに登録します。

  5. グローバルリソースの設定
    コントロールパネルの[グローバルリソースの設定]から、[新しいグローバルリソースの追加]を選択し、Accessのグローバルリソースを追加します。
    グローバルリソースの設定方法については、「グローバルリソースのプロパティ」を参照してください。

スクリプトの作成手順

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

  2. デザイナのツールパレット「データベース」-「Access」-「検索系SQL実行」から、検索系SQL実行処理をスクリプトキャンバスに配置します。

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

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

  5. 変数代入処理(「variable」)のMapperエディタを開き、読み取ったメールアドレスの値をスクリプト変数に代入する処理を作成します。

  6. デザイナのツールパレット「基本」-「フロー」-「条件分岐」から、条件分岐処理をスクリプトキャンバスに配置します。

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

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

  9. 変数代入処理(「variable(1)」)のMapperエディタを開き、「メール_現在」の値を「メール_前回」というスクリプト変数に代入する処理を作成します。

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