使用頻度の高いロジックの組み合わせを関数化したい
キーワード:ユーザ定義ロジック,文字連結,半角全角変換,関数,ファンクション
概要
使用頻度の高いロジックの組み合わせを関数化したい場合、ユーザ定義ロジックを作成します。ユーザ定義ロジックは、Mapperロジックを組み合わせて1つのロジックとしてまとめることが可能です。
作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
サンプルプロジェクトの説明
ユーザ定義ロジックを作成して以下の処理を行い、処理結果をスクリプト変数に代入します。- 4つのスクリプト変数(「都道府県名」・「市区町村名」・「住所1」・「住所2」)の値を結合します。
- スクリプト変数「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換します。

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


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

サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。サンプルプロジェクトのダウンロード | 逆引きリファレンス シナリオ040のサンプルプロジェクト |
---|
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「rl_reference_040.zip」を展開します。 - プロジェクトのアップロード
「rl_reference_040.zip」を展開後に作成される「rl_reference_040プロジェクト」ディレクトリがプロジェクトファイルとなります。
DataSpider Studioを起動し、マイプロジェクトの画面から[ファイル]-[ローカルからアップロード]で展開したディレクトリ「rl_reference_040プロジェクト」をアップロードしてください。
スクリプトの作成手順

- 入力データ・出力データとして使用するスクリプト変数を作成します。
- スクリプト変数のプロパティは、以下のように設定します。
スクリプト変数のプロパティ
変数名 変数型 初期値 都道府県名 文字列型 東京都 市区町村名 文字列型 文鳥区 住所1 文字列型 山口5-20 住所2 文字列型 山下ビル5F 結合された住所 文字列型
- スクリプト変数のプロパティは、以下のように設定します。
- デザイナのツールパレット「基本」-「処理」-「変数代入」から、変数代入処理をスクリプトキャンバスに配置します。
- 変数代入処理のMapperエディタを開き、ツールパレットの「ユーザ定義ロジック」パレットの右クリックメニューから[追加]-[ユーザ定義ロジック]を選択します。
- 「ユーザ定義ロジックの追加」画面で、[ユーザ定義ロジック名]に「ユーザ定義ロジック」を入力し、[OK]を押下します。
- 新しいユーザ定義ロジックが作成され、ツールパレット上に表示されます。
- ツールパレットの「ユーザ定義ロジック」パレットにある「ユーザ定義ロジック」をダブルクリックしてMapperエディタを開きます。
「都道府県名」・「市区町村名」・「住所1」・「住所2」の値を結合し、「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) 連結 複数の入力文字列を連結して返します。
[必須設定]タブの[入力数]は「2」を入力します。「文字列」-「演算」-「連結」 (2) 半角→全角 入力文字列の半角を全角に変換して返します。
[必須設定]タブは以下のように設定します。カナの変換 「カタカナを濁点に分けずに変換する」を選択します。 アルファベットの変換 チェックを入れます。 数字の変換 チェックを入れます。 記号の変換 チェックを入れます。 「文字列」-「日本」-「半角→全角」 (3) 連結 複数の入力文字列を連結して返します。
[必須設定]タブの[入力数]は「2」を入力します。「文字列」-「演算」-「連結」 (4) 半角→全角 入力文字列の半角を全角に変換して返します。
[必須設定]タブは以下のように設定します。カナの変換 「カタカナを濁点に分けずに変換する」を選択します。 アルファベットの変換 チェックを入れます。 数字の変換 チェックを入れます。 記号の変換 チェックを入れます。 「文字列」-「日本」-「半角→全角」 (5) 連結 複数の入力文字列を連結して返します。
[必須設定]タブの[入力数]は「2」を入力します。「文字列」-「演算」-「連結」
処理のポイント
- 入力ハンドラは任意に作成することが可能です。
サンプルプロジェクトでは「都道府県名」・「市区町村名」・「住所1」・「住所2」を入力するため、4つの入力ハンドラを作成しています。
入力ハンドラの作成方法についてはDataSpider Servistaヘルプの「ユーザ定義ロジック」を参照してください。
- 出力ハンドラは編集することができません。
- 入力ハンドラは任意に作成することが可能です。
- マッピングキャンバスは、以下のように設定します。
- 変数代入のMapperエディタに戻り、作成したユーザ定義ロジックを使用して変換した値を、スクリプト変数「結合された住所」に代入する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 ロジック名 説明 ツールパレット上の場所 (1) ユーザ定義ロジック 複数のMapperロジックを1つのロジックとしてまとめます。 「ユーザ定義ロジック」
処理のポイント
- 作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
ユーザ定義ロジックを変更すると、配置したユーザ定義ロジックすべてに変更が反映されます。
- 作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
- マッピングキャンバスは、以下のように設定します。
- スクリプトを実行し、正常終了すれば成功です。