• 文字サイズ変更
  • S
  • M
  • L

FAQのNo.から検索


  • No : 30896
  • 公開日時 : 2019/09/18 09:32
  • 更新日時 : 2019/10/08 14:25
  • 印刷

DataSpider活用事例 ~【DataSpider】コードを名称に置き換える3つの方法 ~

県コードを名称に変換したいときには、Mapperでコードを名称に置き換える処理を作ることができます。
Mapperでコードを名称にする方法は、3種類あります。
それぞれの違いと使い方について紹介します。
カテゴリー : 

回答

■変換パターン
  1. 文字列ごとに置換
  2. CSVファイルによる置換
  3. DBテーブルによる置換
■上記変換パターン共通の処理のイメージ
 
 「生産農家マスタ」テーブルの県コードを件名に置き換えるデータを出力します。
 
 
■実行イメージ
 
 
【基本スクリプト】
 「生産農家マスタ」テーブルからデータを抽出してCSVファイルに出力する処理が基本スクリプトです。
 Mapperで3つの変換パターンのいずれかを使用して、「生産農家マスタ」テーブルの「県コード」を県名に置き換えます。
 
■基本スクリプト完成イメージ

 
以降では、まず各変換パターン共通の基本スクリプトの作成手順を紹介し、続いてMapperで各変換パターンを使用して変換処理を作成する手順を紹介します。
 
【基本スクリプトの作り方】
  1. スクリプト「コードを名称に置き換える」を新規に作成します。
  2. 「テーブル読み取り」アイコンをキャンバスにドラッグ&ドロップし、「生産農家マスタ」テーブルからデータを全件抽出します。
  • テーブル読み取り -- 「デザイナ」→「ツールパレット」→「データベース」→「Access」→「テーブル読み取り」
 
 
  1. CSVファイル書き込み」アイコンをドラッグ&ドロップし、変換結果を出力するCSV書き込み処理を作成します。
    出力する列(カラム)は5つなので、「追加」ボタンを5回クリックして列を作ります。
  • CSVファイル書き込み -- 「デザイナ」→「ツールパレット」→「ファイル」→「CSV」→「CSVファイル書き込み」
 
 
  1. 「マッピングの追加」ウインドウが表示されるので、「はい」を選択してマッピング画面を開きます。
 
 
マッピング画面でコード変換処理を作成します。
コード変換のパターンは3種類あります。
以降では、各パターンで変換処理を作成する手順を紹介します。
 
=======================
コード変換パターン1:文字列ごとに置換
=======================
 
マッピングの「文字列ごとに置換」機能を使って変換するテーブルの値を手入力で指定する方法です。
変換するコードの種類が少ないときや、コード変換用のテーブルがない場合にこの方法を使います。
 
■使う機能
  • 文字列ごとに置換 -- 「Mapper」→「ツールパレット」→「文字列」→「変換」→「文字列ごとに置換」
  1. 「文字列ごとに置換」アイコンをキャンバスにドラッグ&ドロップし、「県コード」→「文字列ごとに置換」→5つ目の「column」に線をマッピングします。
 
 
  1. 「文字列ごとに置換」アイコンのプロパティの1行目「変換テーブル」の右端の「▼」をクリックすると「変換テーブルの設定」ウインドウが表示されます。
    「追加」ボタンを3回クリックして追加した行に、変換元の県コードと変換先の県名を左右にセットで入力します。
    指定が完了したらデザイナに戻り、スクリプトのプロセスフローをつないで処理を完成させます。
 
 
=======================
コード変換パターン2:CSVファイルによる置換
=======================
 
CSVファイルにコードと名称が登録された変換テーブルがある場合は、マッピングの[CSVファイルによる置換]機能で変換することができます。
 
■使う機能
  • CSVファイルによる置換 -- 「Mapper」 → 「ツールパレット」 → 「文字列」 → 「変換」 → 「CSVファイルによる置換」
  1. 「CSVファイルによる置換」アイコンをキャンバスにドラッグ&ドロップし、「県コード」 → 「文字列ごとに置換」 → 5つ目の「column」に線をマッピングします。
 
 
  1. 「CSVファイルによる置換」アイコンのプロパティでは、CSVファイル名に「都道府県コード表.csv」を指定します。
    CSVファイルの1行目のヘッダーは置換対象とならないように「1行目のヘッダーをスキップ」をチェックします。
    指定が完了したら、スクリプトのプロセスフローをつないで処理を完成させます。
 
 
=======================
コード変換パターン3:DBテーブルによる置換
=======================
 
データベースにコードと名称がセットで登録されたマスタテーブルがある場合は、Mapperの「DBテーブルによる置換」機能で変換することができます。
 
■使う機能
  • DBテーブルによる置換 -- 「Mapper」 → 「ツールパレット」 → 「文字列」 → 「変換」 → 「DBテーブルによる置換」
  1. 「DBテーブルによる置換」アイコンをキャンバスにドラッグ&ドロップし、「県コード」 → 「DBテーブルによる置換」 → 5つ目の「column」の順でマッピングします。
     
 
  1. 「DBテーブルによる置換」アイコンのプロパティで、リソース名、変換テーブル名と変換元のコードを持つ項目を「キー列」に、置き換える値を持つ列を「値列」にそれぞれ指定します。
    指定が完了したらスクリプトのプロセスフローをつないで処理を完成させます。
 
 
【確認】
 スクリプトを実行して結果を確認してみましょう。県コードが正しく県名に変更されていたら成功です。
 
■完成したスクリプト
 
 
■出力結果
 
 
■参考

 テーブル読み取り処理:
  テーブルに格納されているデータを読み取ります。
  • [アダプタ] - [データベース] - [Access] - [テーブル読み取り処理]
 
 CSVファイル書き込み処理:
  入力データをCSV(Comma Separated Value)形式、TSV(Tab Separated Values)形式などの形式のファイルに書き込みます。
  • [アダプタ] - [ファイル] - [CSV] - [CSVファイル書き込み処理]

 文字列ごとに置換ロジック:
  入力文字列を変換テーブルにより置換して返します。
  • [Mapperロジックガイド] - [文字列] - [変換] - [文字列ごとに置換]
 
 CSVファイルによる置換ロジック:
  入力文字列をCSVファイルにより置換して返します。
  • [Mapperロジックガイド] - [文字列] - [変換] - [CSVファイルによる置換]
 
 DBテーブルによる置換ロジック:
  入力文字列を変換テーブルにより置換して返します。
  • [Mapperロジックガイド] - [文字列] - [変換] - [DBテーブルによる置換]