データベースでマスタチェックし、マッチしたデータを出力してみよう

入力データをデータベースでマスタチェックし、マッチしたデータをDBテーブルによる置換ロジックを使用して出力する方法について説明します。

このチュートリアルでは、「Amazon S3からデータベース(MySQL)にデータを書き出してみよう」で作成したデータベースとサンプルデータを使用します。

サンプルデータの使用方法については「サンプルデータの使用方法」を参照してください。

事前に上記のチュートリアルの操作を行ってから、このチュートリアルを進めてください。

説明

CSVファイルを読み取り、「ローカル製品コード」をキーに製品在庫マスタテーブルを参照し、「在庫数量」を取得します。

製品在庫マスタテーブルに該当の「ローカル製品コード」がある場合、CSVファイルへ出力を行います。

処理の流れ

データベースでマスタチェックし、マッチしたデータを出力するには、以下の順で作業を行います。

 

ポイントとなる機能
  • DBテーブルによる置換ロジック

    入力文字列をDBテーブルにより置換して返します。

    Mapperのツールパレットの文字列 > 変換 > DBテーブルによる置換で設定できます。

     

処理のポイント

DBテーブルによる置換ロジックで、入力データと製品在庫マスタテーブルの「ローカル製品コード」がマッチした場合、製品在庫マスタテーブルの「在庫数量」に置換します。

置換が行われたレコードのみを抽出することでマッチしたデータを出力することが可能です。

 

サンプルデータの使用方法

上記処理を行うためのサンプルデータを用意しています。

サンプルデータは「シナリオ一覧」からダウンロードしてください。サンプルデータを使用する場合の手順は、以下のとおりです。

サンプルデータファイル名:tutorial_DB_matched_data.zip

  1. サンプルデータの展開

    サンプルデータファイル「tutorial_DB_matched_data.zip」を展開します。

  2. サンプルデータの準備

    「tutorial_DB_matched_data.zip」を展開後のデータがサンプルデータとなります。

  3. サンプルデータのアップロード

    CSVファイルをストレージにアップロードする」を参照して、サンプルデータをストレージにアップロードします。

操作手順

CSVファイルのアップロードからデザイナー起動までの手順は、CSVを加工するスクリプトを作ってみようを参照してください。

プロセスフローおよびデータフローは、説明のスクリプト画像を参照して設定してください。

(1) CSVファイルの読み取りと書き込みのオペレーションを配置する

  1. ツールパレットからファイル > CSV > CSVファイル読み取りをスクリプトキャンバスにドラッグ&ドロップします。

  2. CSVファイル読み取り処理の設定を以下のように行います。

    必須設定タブ

    = 備考 =
    • 読み取りを行うCSVファイルとして、サンプルデータの「input.csv」を指定します。

    • 「input.csv」を指定したあと、ファイルの一行目から列名を読み取りを選択すると列一覧が自動で読み込まれます。

  3. ツールパレットから変換 > 基本 > マッピングをスクリプトキャンバスにドラッグ&ドロップします

  4. ツールパレットからファイル > CSV > CSVファイル書き込みをスクリプトキャンバスにドラッグ&ドロップします。

  5. CSVファイル書き込み処理の設定を以下のように行います。

    必須設定タブ

    = 備考 =
    • 書き込みを行うCSVファイルとして、サンプルデータの「output.csv」を指定します。

    • 「output.csv」を指定したあと、ファイルの一行目から列名を読み取りを選択すると列一覧が自動で読み込まれます。

  6. コンポーネントアイコンを以下のように繋ぎます。

 

(2) マッピングキャンバスでマッピングを行う

  1. mappingアイコンをダブルクリックしてMapperエディターを開きます。

  2. Mapperエディターで、製品在庫マスタテーブルからローカル製品コードをキーに在庫数量を取得し、マッチしたレコードのみを抽出する処理を作成します。

    マッピングキャンバスは、以下のように設定します。

  3. 番号

    ロジック名

    説明

    ツールパレット上の場所

    (1)

    条件による抽出

    条件にマッチしたもののみ繰り返して出力します。

    繰り返し > 条件指定 > 条件による抽出

    (2)

    同じでない

    二つの入力文字列が異なるかどうか判定します。

    条件 > 文字列 > 同じでない

    (3)

    DBテーブルによる置換

    入力文字列をDBテーブルにより置換して返します。

    [必須設定]タブは以下のように設定してください。

    リソース名

    Amazon S3からデータベース(MySQL)にデータを書き出してみよう」で設定したAmazon Aurora for MySQL 5.7接続を選択する。

    テーブル名

    製品在庫マスタテーブル

    キー列

    ローカル製品コード

    値列

    在庫数量

    マッチング方法

    完全一致

    置換方法

    完全置換

    文字列 > 変換 > DBテーブルによる置換

    = ヒント =
    • DBテーブルによる置換ロジックの[キー列]にマッチングを行うキーである「ローカル製品コード」を、[値列]に置換する値として使用する「在庫数量」を選択します。

    • 入力値が製品在庫マスタテーブルの「ローカル製品コード」にマッチする場合、「在庫数量」に置換します。

    置換が行われたレコードのみを抽出することでマッチしたデータのみ出力することが可能です。

     

(3) スクリプトを実行する

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

    スクリプトの実行方法についてはCSVを加工するスクリプトを作ってみようスクリプトを実行するを参照してください。