使用頻度の高いロジックの組み合わせを関数化したい

Avatar
dstn

使用頻度の高いロジックの組み合わせを関数化したい

キーワード:ユーザ定義ロジック,文字連結,半角全角変換,関数,ファンクション

概要

使用頻度の高いロジックの組み合わせを関数化したい場合、ユーザ定義ロジックを作成します。
ユーザ定義ロジックは、Mapperロジックを組み合わせて1つのロジックとしてまとめることが可能です。
作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。

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

ユーザ定義ロジックを作成して以下の処理を行い、処理結果をスクリプト変数に代入します。
  • 4つのスクリプト変数(「都道府県名」・「市区町村名」・「住所1」・「住所2」)の値を結合します。
  • スクリプト変数「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換します。

処理の流れ

サンプルプロジェクトの処理の流れは以下の通りです。
  1. 変数代入処理」の「ユーザ定義ロジック」で以下の処理を行い、処理結果をスクリプト変数「結合された住所」に代入します。
    1. 4つのスクリプト変数(「都道府県名」・「市区町村名」・「住所1」・「住所2」)の値を結合します。
    2. スクリプト変数「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換します。
スクリプトを実行すると、スクリプト変数「結合された住所」に処理結果が代入されます。

ポイントとなる機能

名前 説明 ツールパレット上の場所
ユーザ定義ロジック 複数のMapperロジックを1つのロジックとしてまとめ、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できる機能です。 「ユーザ定義ロジック」

処理のポイント

作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
ユーザ定義ロジックを変更すると、配置したユーザ定義ロジックすべてに変更が反映されます。
そのため、同一の処理を何度も行う場合など、共通の処理をユーザ定義ロジック化すると効果的です。
なお、ユーザ定義ロジックは別のプロジェクトにコピーすることができません。
複数のプロジェクトで同一のユーザ定義ロジックを使用したい場合、テンプレートとして使用するプロジェクトおよびユーザ定義ロジックを作成しておき、そのプロジェクトをコピーして使用する方法があります。
ただし、コピー元のユーザ定義ロジックを変更してもコピー先のユーザ定義ロジックに変更が反映されないため、必要に応じて各プロジェクト内のユーザ定義ロジックを変更する必要があります。
ユーザ定義ロジックの詳細については、「 ユーザ定義ロジック」を参照してください。

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

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

サンプルプロジェクトのダウンロード 逆引きリファレンス シナリオ040のサンプルプロジェクト
  1. サンプルプロジェクトの展開
    サンプルプロジェクトファイル「rl_reference_040.zip」を展開します。

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

スクリプトの作成手順

プロセスフローは、「 サンプルプロジェクトの説明」のスクリプト画像を参照して適宜設定してください。
  1. 入力データ・出力データとして使用するスクリプト変数を作成します。
    • スクリプト変数のプロパティは、以下のように設定します。

      スクリプト変数のプロパティ

      変数名 変数型 初期値
      都道府県名 文字列型 東京都
      市区町村名 文字列型 文鳥区
      住所1 文字列型 山口5-20
      住所2 文字列型 山下ビル5F
      結合された住所 文字列型  

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

  3. 変数代入処理のMapperエディタを開き、ツールパレットの「ユーザ定義ロジック」パレットの右クリックメニューから[追加]-[ユーザ定義ロジック]を選択します。

  4. 「ユーザ定義ロジックの追加」画面で、[ユーザ定義ロジック名]に「ユーザ定義ロジック」を入力し、[OK]を押下します。

  5. 新しいユーザ定義ロジックが作成され、ツールパレット上に表示されます。

  6. ツールパレットの「ユーザ定義ロジック」パレットにある「ユーザ定義ロジック」をダブルクリックしてMapperエディタを開きます。
    「都道府県名」・「市区町村名」・「住所1」・「住所2」の値を結合し、「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換する処理を作成します。
    • マッピングキャンバスは、以下のように設定します。

      マッピングキャンバス



      番号 ロジック名 説明 ツールパレット上の場所
      (1) 連結 複数の入力文字列を連結して返します。
      [必須設定]タブの[入力数]は「2」を入力します。
      「文字列」-「演算」-「連結」
      (2) 半角→全角 入力文字列の半角を全角に変換して返します。
      [必須設定]タブは以下のように設定します。
      カナの変換 「カタカナを濁点に分けずに変換する」を選択します。
      アルファベットの変換 チェックを入れます。
      数字の変換 チェックを入れます。
      記号の変換 チェックを入れます。
      「文字列」-「日本」-「半角→全角」
      (3) 連結 複数の入力文字列を連結して返します。
      [必須設定]タブの[入力数]は「2」を入力します。
      「文字列」-「演算」-「連結」
      (4) 半角→全角 入力文字列の半角を全角に変換して返します。
      [必須設定]タブは以下のように設定します。
      カナの変換 「カタカナを濁点に分けずに変換する」を選択します。
      アルファベットの変換 チェックを入れます。
      数字の変換 チェックを入れます。
      記号の変換 チェックを入れます。
      「文字列」-「日本」-「半角→全角」
      (5) 連結 複数の入力文字列を連結して返します。
      [必須設定]タブの[入力数]は「2」を入力します。
      「文字列」-「演算」-「連結」

      処理のポイント
      • 入力ハンドラは任意に作成することが可能です。
        サンプルプロジェクトでは「都道府県名」・「市区町村名」・「住所1」・「住所2」を入力するため、4つの入力ハンドラを作成しています。
        入力ハンドラの作成方法についてはDataSpider Servistaヘルプの「ユーザ定義ロジック」を参照してください。
      • 出力ハンドラは編集することができません。

  7. 変数代入のMapperエディタに戻り、作成したユーザ定義ロジックを使用して変換した値を、スクリプト変数「結合された住所」に代入する処理を作成します。
    • マッピングキャンバスは、以下のように設定します。

      マッピングキャンバス



      番号 ロジック名 説明 ツールパレット上の場所
      (1) ユーザ定義ロジック 複数のMapperロジックを1つのロジックとしてまとめます。 「ユーザ定義ロジック」

      処理のポイント
      • 作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
        ユーザ定義ロジックを変更すると、配置したユーザ定義ロジックすべてに変更が反映されます。

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

コメント

ログインしてコメントを残してください。

Powered by Zendesk