7.13. ソースまたはターゲットデータの変換
マッピングの定義後、データマッパーでマッピングのフィールドを変換できます。データフィールドの変換は、データの格納方法を定義します。たとえば、Capitalize 変換を指定して、データ値の最初の文字が大文字になるようにすることができます。
同じマッピング内の異なるフィールドに異なる変換を適用できます。1 つのソースフィールドを 1 つのターゲットフィールドにマップする 1 対 1 のマッピングでは、変換をソースフィールドまたはターゲットフィールドのどちらに適用するかは問題ではありません。
1 対多または多対 1 のマッピングでは、変換を指定するときに必要なターゲットフィールドの値を考慮してください。たとえば、番号、番地、都市、州のソースフィールドを 1 つのターゲット住所フィールドに結合する多対 1 マッピングを考えてみます。ターゲットアドレスフィールドの文字列をすべて大文字にする場合は、ターゲットアドレスフィールドを選択し、大文字変換を適用します。州のみを大文字にする必要がある場合は、ソース州フィールドを選択し、大文字変換を適用します。
ソースフィールド変換は前処理を実行し、ターゲットフィールド変換は後処理を実行すると考えることができます。
注記: マッピングに条件を追加する場合は、条件のマッピングへの適用 の説明どおりに、変換を条件式内に追加する必要があります。
手順
- フィールドをマップします。これは、1 対 1 のマッピング、組み合わせのマッピング、または分割のマッピングになります。
- Mapping Details パネルの Sources または Targets 下にある変換するフィールドのボックスで、 をクリックします。このオプションは、利用可能な変換のドロップダウンリストを表示します。
- データマッパーが実行する変換を選択します。
- 変換に入力パラメーターが必要な場合は、該当する入力フィールドに指定します。
- 別の変換を追加するには、 を再度クリックします。
7.13.1. 1 つのターゲットフィールドにマップする前の複数のソース値の変換
複数のソースフィールドや、コレクションなどの複数の値が含まれるソースフィールドの値に適用できる変換があります。変換の結果はデータマッパーによってターゲットフィールドに挿入されます。以下の表は、これらの多重変換について説明しています。
多重変換 | 説明 |
---|---|
Add | ソースの数値を追加し、その合計をターゲットフィールドに挿入します。選択したソースフィールドまたは選択したコレクションの値は数値である必要があります。 |
Average | ソースの数値の平均を算出し、その算出値をターゲットフィールドに挿入します。選択したソースフィールドまたは選択したコレクションの値は数値である必要があります。 |
Concatenate | ソース値を結合し、その結合値をターゲットフィールドに挿入します。空白文字または他の文字を区切り文字として指定できます。区切り文字は、ターゲットフィールドのソース値の間に挿入されます。FirstName、MiddleName、および LastName などの複数のソースフィールド値を、CustomerName などの 1 つのターゲットフィールドに組み合わせるのが、この変換の一般的な使用方法です。 |
Contains | ソース値を評価し、指定したパラメーター値が含まれる値があるかどうかを判断します。指定のパラメーター値が含まれるソース値がある場合、true がターゲットフィールドに挿入されます。指定のパラメーター値が含まれるソース値がない場合は、false がターゲットフィールドに挿入されます。 たとえば、特定の顧客に関連するアクティビティーを追跡するとします。この場合、各コレクションメンバーに顧客情報が含まれるソースコレクションフィールドを選択します。Value パラメーターに特定のメールアドレスを指定します。コレクションで指定のメールアドレスが見つかった場合、true がターゲットフィールドに挿入されます |
Count | ソース値の数をターゲットフィールドに挿入します。これは、ソースフィールドがコレクションである場合に便利です。データマッパーによって、コレクションのサイズがターゲットフィールドに挿入されます。 たとえば、アイテムオブジェクトのコレクションである Order ソースフィールドを選択するとします。Count 変換を適用すると、その Order のアイテム数がターゲットフィールドに挿入されます。 また、4 つの個別のソースフィールドを選択した場合は 4 がターゲットフィールドに挿入されます。 |
Divide |
最初のソース値を 2 つ目のソース値で割り、その値をターゲットフィールドに挿入します。3 つ以上のソース値がある場合は、次の値で割って除算を継続します。例として、 |
Format | 指定したテンプレートのプレースホルダーを選択したソースフィールドの値に置き換えます。置き換え後の文字列がターゲットフィールドに挿入されます。たとえば、以下の 3 つのソースフィールドを選択したとします。
time Format 変換を選択し、Template パラメーターに以下を指定します。
その結果、ターゲットフィールドは次のようになります。 At 8:00 AM, Aslan tweeted: ROAR! これは、Java や C などのプログラミング言語で使用できるメカニズムに似ています。 |
Item At | 選択したソースフィールドに対して、指定したインデックスの値を見つけ、その値をターゲットフィールドに挿入します。ソースフィールドは、区切り文字で区切られた複数の値が含まれるコレクションまたはフィールドである必要があります。 たとえば、選択したソースフィールドが顧客メールアドレスのコレクションであるとします。Item At 変換の選択後、0 を Index パラメーターフィールドに指定します。データマッパーによって、インデックス 0 の最初のメールアドレスがターゲットフィールドに挿入されます。 |
Maximum | ソース値を評価し、最大値をターゲットフィールドに挿入します。ソース値は数字である必要があります。 |
Minimum | ソース値を評価し、最小値をターゲットフィールドに挿入します。ソース値は数字である必要があります。 |
Multiply |
最初のソース値と 2 つ目のソース値を掛けて、その値をターゲットフィールドに挿入します。3 つ以上のソース値がある場合は、次の値を掛けて乗算を継続します。例として、 |
Subtract |
最初のソース値から 2 つ目のソース値を引き、その値をターゲットフィールドに挿入します。3 つ以上のソース値がある場合は、次の値を引いて減算を継続します。例として、 |
7.13.2. 利用可能な変換の説明
以下の表では利用可能な変換について説明します。日付と時刻のタイプは、これらの概念のいずれの形式にも汎用的に参照されます。よって、数字には integer
、long
、double
などが含まれます。日付には date
、Time
、ZonedDateTime
などが含まれます。
変換 | 入力タイプ | 出力タイプ | パラメーター (* = 必須) | 説明 |
---|---|---|---|---|
| number | number | なし | 数字の絶対値を返します。 |
| date | date |
| 日付に日を追加します。デフォルトは 0 日です。 |
| date | date |
| 日付に秒数を追加します。デフォルトは 0 秒です。 |
| string | string | string | 文字列の最後に文字列を追加します。デフォルトでは、何も追加しません。 |
| string | string | なし | 空白を削除し、最初の単語を小文字にし、その後の各単語の最初の文字を大文字にして、キャメルケースを用いた文字列に変換します。 |
| string | string | なし | 文字列の最初の文字を大文字にします。 |
| number | number | なし | 数字の整数上限を返します。 |
| any | Boolean |
| フィールドに指定された値が含まれる場合、true を返します。 |
| 任意の単純な型 | 配列内の任意の単純型 | index* |
コレクションの場合は、文字列フィールドの値をターゲットコレクションの指定されたフィールドに分割せずにコピーします。index パラメーターは、ターゲットコレクション内のフィールドのインデックスを定義します。デフォルトは |
| number | number |
|
範囲を表す数値を別の単位に変換します。From Unit および To Unit メニューから |
| number | number |
|
距離を表す数値を別の単位に変換します。From Unit および To Unit メニューから |
| number | number |
|
質量を表す数値を別の単位に変換します。From Unit および To Unit メニューから |
| number | number |
|
体積を表す数値を別の単位に変換します。From Unit および To Unit メニューから |
| date | number | なし | 日付に対応する週 (1 から 7) を返します。 |
| date | number | なし | 日付に対応する年間通算日 (1 から 366) を返します。 |
| string | Boolean |
|
文字列が指定の |
| any | Boolean |
|
入力フィールドが指定の |
| string | string | なし | ファイル名を表す文字列から、ドットなしでファイル拡張子を返します。 |
| number | number | なし | 数字の整数下限を返します。 |
| any | string |
|
|
|
string | number |
|
パラメーター文字列の最初の文字である、入力文字列の文字のインデックスを返します。パラメーター文字列が見つからないと |
| any | ブール値 | なし | フィールドが null の場合、true を返します。 |
|
string | number |
|
パラメーター文字列の最後の文字である、入力文字列の文字のインデックスを返します。パラメーター文字列が見つからないと |
| any | number | なし |
フィールドの長さを返し、フィールドが null の場合は |
| string | string | なし | 文字列を小文字に変換します。 |
| string | string | なし | 連続した空白文字を単一のスペースに置き換え、文字列の前後にある空白文字を切り取ります。 |
| string | string |
|
|
| string | string |
|
|
| string | string |
|
|
| string | string |
|
文字列で、提供された一致する文字列をすべて提供された |
| string | string |
|
文字列で、最初に見つかった指定の |
| 任意の単純な型 | 配列内の任意の単純型 |
| 単純型を配列型にマップする場合は、複数の配列要素に単純型から取得した値を入力します。 |
| number | number | なし | 数字の四捨五入した整数を返します。 |
| string | string | なし | 空白文字、コロン (:)、アンダーライン (_)、プラス記号 (+)、および等号 (=) をハイフン (-) に置き換えます。 |
| string | string | なし | 空白文字、コロン (:)、ハイフン (-)、プラス記号 (+)、および等号 (=) をアンダーライン (_) に置き換えます。 |
| 複合タイプ | any | なし | 複合ソースフィールドの区切り文字に基づいて、複合ソースフィールドを複数のターゲットフィールドに分割します。デフォルトの区切り文字は空白文字です。 |
| string | Boolean |
| 文字列が指定された文字列 (大文字と小文字を区別) で始まる場合は true を返します。 |
| string | string |
|
指定された |
| string | string |
|
指定された |
| string | string |
|
指定された |
| string | string | なし | 文字列の前後にある空白文字を削除します。 |
| string | string | なし | 文字列の前にある空白文字を削除します。 |
| string | string | なし | 文字列の後にある空白文字を削除します。 |
| string | string | なし | 文字列を大文字に変換します。 |