DBテーブルによる置換
ロジック名
DBテーブルによる置換(ドキュメントMapper/変数Mapper/マージMapper)
機能
入力文字列をDBテーブルにより置換して返します。
データ型
|
場所 |
型 |
|---|---|
|
1番目の入力ハンドラ |
文字列 |
|
ロジックの出力 |
文字列 |
プロパティ
|
カテゴリ |
プロパティ |
説明 |
|---|---|---|
|
必須設定 |
リソース名 |
置換に使用するリソースを指定します。 |
|
必須設定 |
テーブル名 |
テーブル名を指定します。 |
|
必須設定 |
キー列 |
入力ハンドラの値とマッチングを行う列を指定します。 |
|
必須設定 |
値列 |
置換する値として使用する列を指定します。 |
|
必須設定 |
マッチング方法 |
マッチング方法を指定します。 |
|
必須設定 |
置換方法 |
置換方法を指定します。 |
|
付加文字列 |
接頭語 |
置換後の文字列の前に追加される文字列を指定します。 |
|
付加文字列 |
接尾語 |
置換後の文字列のあとに追加される文字列を指定します。 |
|
マッチング・レコードが0件 |
処理オプション |
マッチング・レコードが0件の場合の処理方法を指定します。 |
|
マッチング・レコードが0件 |
代替文字列 |
代替文字列を指定します。 |
|
マッチング・レコードが2件以上 |
処理オプション |
マッチング・レコードが2件以上の場合の処理方法を指定します。 |
|
コメント |
コメント |
ロジックの説明を記述することができます。変換処理には関係しません。 |
マッチング方法
|
オプション |
説明 |
|---|---|
|
完全一致 |
入力ハンドラの値と[キー列]の値が完全に一致した場合に置換を行います。 |
|
部分一致 |
入力ハンドラの値の一部分と[キー列]の値が一致した場合に置換を行います。 |
置換方法
|
オプション |
説明 |
|---|---|
|
完全置換 |
1番目の入力ハンドラの値を[値列]の値に置き換えます。 |
|
部分置換 |
1番目の入力ハンドラの値で一致した部分を[値列]の値に置き換えます。 |
マッチング・レコードが0件/処理オプション
|
オプション |
説明 |
|---|---|
|
例外を発生させる |
以下の例外を発生させます。 [mapping]の処理に失敗しました。原因:[com.appresso.ds.vp.mapper.fastconverter.NoSuchRecordException: ConvertByDBロジック - There is no such record that equals the following key(s): <キー列>] |
|
代替文字列に置換 |
[代替文字列]で指定した値に置き換えます。 |
|
1番目のハンドラの値を返す |
1番目の入力ハンドラの値をそのまま返します。 |
マッチング・レコードが2件以上/処理オプション
|
オプション |
説明 |
|---|---|
|
例外を発生させる |
以下の例外を発生させます。 [mapping]の処理に失敗しました。原因:[com.appresso.ds.vp.mapper.fastconverter.MultipleSuchRecordsException: ConvertByDBロジック - There are multiple such records that equal the following key(s): <キー列>] |
|
先頭のレコードを使用する |
一致した複数レコードの先頭のレコードを置換処理に使用します。 |
|
最後のレコードを使用する |
一致した複数レコードの最後のレコードを置換処理に使用します。 注意
一致したレコードの[キー列]の値が異なる場合、先頭のレコードの[キー列]の値に一致する最後のレコードを置換処理に使用します。 |
機能の詳細
複数キーの指定方法
以下の方法で、キー列を複数指定することができます。
-
「Replace by DB Table」のアイコンをダブルクリッします。
-
「Key column」の右の[Add]ボタンをクリックします。
-
キー列が追加されるので、ドロップダウンリストから指定したいキー名を選択します。
-
[Finish]ボタンをクリックします。
-
Mapperロジックの入力ハンドラが追加したキー列数に変更されます。
使用可能なコネクションリソース
[リソース名]では、以下のコネクターのコネクションリソースを指定できます。
|
コネクターの種類 |
|---|
|
DB2 Connector |
|
MySQL Connector |
|
Oracle Connector |
|
PostgreSQL Connector |
|
SQL Server Connector |
|
JDBC Connector |
|
Amazon Aurora for MySQL Connector |
|
Amazon RDS for MySQL Connector |
|
Amazon RDS for Oracle Connector |
|
Amazon RDS for PostgreSQL Connector |
|
Amazon RDS for SQL Server Connector |
|
Azure SQL Database Connector |
仕様制限
-
[テーブル名]にはコネクションリソースの一覧設定で指定した制限数のテーブルが表示されます。
-
入力文字列に複数の変換対象があった場合には、最初に合致した1件のみが置換されます。
-
変換後の文字列に含まれるスクリプト変数の書式(例:「${var}」)は、変数に展開されず単純な文字列として扱われます。
注意事項
-
[キー列]の値または[値列]の値がnullの場合、置換処理から除外されます。
-
マッチング・レコードの件数は、[値列]の値がnull以外のレコードの件数となります。
-
-
名前にマルチバイト文字や機種依存文字を含むカラムを[キー列]または[値列]に使用する場合は、カラム名を引用符で囲んでください。
= 備考 =引用符はデータベースによって異なります。引用符の定義については、各データベースベンダーに問い合わせてください。
ロジックの使用例
マッピング定義
ロジックの設定と処理結果(完全一致の場合)
変換テーブルを用いて曜日の表記をアルファベットから漢字に置換します。
プロパティ設定
|
プロパティ |
設定値 |
|---|---|
|
リソース名 |
DB |
|
テーブル名 |
convertbydb_all |
|
キー列 |
KEY1 |
|
値列 |
VALUE1 |
|
マッチング方法 |
完全一致 |
|
置換方法 |
完全置換 |
|
接頭語 |
|
|
接尾語 |
曜日 |
|
マッチング・レコードが0件/処理オプション |
1番目のハンドラの値を返す |
|
マッチング・レコードが0件/代替文字列 |
|
|
マッチング・レコードが2件以上/処理オプション |
先頭のレコードを使用する |
入力データ
|
Sunday |
|
Monday |
|
Tuesday |
|
Wednesday |
|
Thursday |
|
Friday |
|
Saturday |
変換テーブル
|
KEY1 |
VALUE1 |
|---|---|
|
Sunday |
日 |
|
Monday |
月 |
|
Tuesday |
火 |
|
Wednesday |
水 |
|
Thursday |
木 |
|
Friday |
金 |
|
Saturday |
土 |
出力データ
|
日曜日 |
|
月曜日 |
|
火曜日 |
|
水曜日 |
|
木曜日 |
|
金曜日 |
|
土曜日 |
ロジックの設定と処理結果(部分一致の場合)
変換テーブルを用いて曜日の表記を漢字からアルファベットに置換します。
プロパティ設定
|
プロパティ |
設定値 |
|---|---|
|
リソース名 |
DB |
|
テーブル名 |
convertbydb_partial |
|
キー列 |
KEY1 |
|
値列 |
VALUE1 |
|
マッチング方法 |
部分一致 |
|
置換方法 |
部分置換 |
|
接頭語 |
|
|
接尾語 |
|
|
マッチング・レコードが0件/処理オプション |
1番目のハンドラの値を返す |
|
マッチング・レコードが0件/代替文字列 |
|
|
マッチング・レコードが2件以上/処理オプション |
先頭のレコードを使用する |
入力データ
|
3/20 (日) |
|
3/21 (月) |
|
3/22 (火) |
|
3/23 (水) |
|
3/24 (木) |
|
3/24 (金) |
|
3/25 (土) |
変換テーブル
|
KEY1 |
VALUE1 |
|---|---|
|
日 |
Sun |
|
月 |
Mon |
|
火 |
Tue |
|
水 |
Wed |
|
木 |
Thu |
|
金 |
Fri |
|
土 |
Sat |
出力データ
|
3/20 (Sun) |
|
3/21 (Mon) |
|
3/22 (Tue) |
|
3/23 (Wed) |
|
3/24 (Thu) |
|
3/24 (Fri) |
|
3/25 (Sat) |
ロジック全体の一覧は「Mapperロジックガイド」を参照してください。