使用頻度の高いロジックの組み合わせを関数化したい
キーワード:ユーザ定義ロジック,ローカルユーザ定義ロジック,文字連結,半角全角変換,関数,ファンクション
シナリオ一覧に戻る
概要
使用頻度の高いロジックの組み合わせを関数化したい場合、ユーザ定義ロジックを作成します。
ユーザ定義ロジックは、Mapperロジックを組み合わせて1つのロジックとしてまとめることが可能です。
作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
ローカルユーザ定義ロジックを作成して以下の処理を行い、処理結果をスクリプト変数に代入します。
- 4つのスクリプト変数(「都道府県名」・「市区町村名」・「住所1」・「住所2」)の値を結合します。
- スクリプト変数「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換します。
処理の流れ
サンプルプロジェクトの処理の流れは以下の通りです。
- 「変数代入処理」の「ユーザ定義ロジック」で以下の処理を行い、処理結果をスクリプト変数「結合された住所」に代入します。
- 4つのスクリプト変数(「都道府県名」・「市区町村名」・「住所1」・「住所2」)の値を結合します。
- スクリプト変数「住所1」および「住所2」に含まれる半角の文字・数字・記号を全角に変換します。
スクリプトを実行すると、スクリプト変数「結合された住所」に処理結果が代入されます。
ポイントとなる機能
名前 |
説明 |
ツールパレット上の場所 |
ローカルユーザ定義ロジック |
複数のMapperロジックを1つのロジックとしてまとめ、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できる機能です。 |
「ローカルユーザ定義」 |
処理のポイント
作成したローカルユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
ローカルユーザ定義ロジックを変更すると、配置したローカルユーザ定義ロジックすべてに変更が反映されます。
そのため、同一の処理を何度も行う場合など、共通の処理をローカルユーザ定義ロジック化すると効果的です。
なお、ローカルユーザ定義ロジックは別のプロジェクトにコピーすることができません。
複数のプロジェクトで同一のローカルユーザ定義ロジックを使用したい場合、テンプレートとして使用するプロジェクトおよびローカルユーザ定義ロジックを作成しておき、そのプロジェクトをコピーして使用する方法があります。
ただし、コピー元のローカルユーザ定義ロジックを変更してもコピー先のローカルユーザ定義ロジックに変更が反映されないため、必要に応じて各プロジェクト内のローカルユーザ定義ロジックを変更する必要があります。
ローカルユーザ定義ロジックの詳細については、「ユーザ定義ロジック」を参照してください。
サンプルプロジェクトの使用方法
上記処理を実装したサンプルプロジェクトを用意しています。サンプルプロジェクトを使用する場合の手順は、以下の通りです。
サンプルプロジェクトファイル名 |
rl_reference_040.zip |
- サンプルプロジェクトの展開
サンプルプロジェクトファイル「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つの入力ハンドラを作成しています。
入力ハンドラの作成方法については「ローカルユーザ定義ロジック」を参照してください。
- 出力ハンドラは編集することができません。
|
- 変数代入のMapperエディタに戻り、作成したユーザ定義ロジックを使用して変換した値を、スクリプト変数「結合された住所」に代入する処理を作成します。
- マッピングキャンバスは、以下のように設定します。
マッピングキャンバス
番号 |
ロジック名 |
説明 |
ツールパレット上の場所 |
(1) |
ユーザ定義ロジック |
複数のMapperロジックを1つのロジックとしてまとめます。 |
「ローカルユーザ定義」 |
処理のポイント
- 作成したユーザ定義ロジックは、同一プロジェクト内のドキュメントMapperおよび変数Mapper上で共有できます。
ユーザ定義ロジックを変更すると、配置したユーザ定義ロジックすべてに変更が反映されます。
|
- スクリプトを実行し、正常終了すれば成功です。