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ロジックガイド」を参照してください。