7.10. 1 つのソースフィールドを複数のターゲットフィールドに分割

データマッパーステップでは、複合ソースフィールドを複数のターゲットフィールドに分割できます。たとえば、Name フィールドを FirstName および LastName フィールドにマップします。

前提条件

ソースフィールドでは、この複合フィールドの各パーツのコンテンツタイプ、コンテンツの各パーツの順番およびインデックス、および空白やコンマなどのパーツの区切り文字を知っている必要があります。フィールドを組み合わせまたは分割する場合の不足または不必要なデータの例 を参照してください。

手順

  1. Sources パネルで、分割するコンテンツのあるフィールドをクリックし、 the Create new mapping icon をクリックします。
  2. Mapping Details パネルで、Target ドロップダウンリストから、マップ先のデータフィールドを選択します。

    ターゲットフィールドの選択を終了すると、ソースフィールドから選択した各ターゲットフィールドへの線が表示されるはずです。

    Mapping Details の上部に Split が表示されます。これは、マッピングの実行によりソースフィールドの値が分割され、複数のターゲットフィールドにマップされることを意味します。

    Targets に選択した各ターゲットフィールドのエントリーがあります。

  3. Mapping Details パネルで、以下のようにマッピングを設定します。

    1. SourcesDelimiter フィールドで、ソースフィールドの値を区切る場所を示すソースフィールドの文字を指定または選択します。デフォルトは空白文字です。
    2. 必要に応じて、 the Transformation icon をクリックし、ソースフィールドがターゲットフィールドにマップされる前に変換をソースフィールド値に適用します。
    3. Targets 下で、選択したターゲットフィールドのエントリーの順番を確認します。エントリーの順番は、複合ソースフィールドの対応するコンテンツと同じである必要があります。ソースフィールドのコンテンツのパーツ 1 つ以上に対してターゲットフィールドを指定しなくても、問題ありません。

      エントリーの順番が正しくない場合は、フィールドエントリーのインデックス番号を変更し、同じ順番になるようにします。

      複合ソースフィールドの各パーツをターゲットフィールドにマップした場合は、次のステップを省略します。

    4. ソースフィールドに、不必要なデータが含まれる場合は、Mapping Details パネルで、ソースフィールドの対応するデータと同じインデックスを持たない各ターゲットフィールドのインデックスを編集します。各ターゲットフィールドエントリーのインデックスは、ソースフィールドの対応するデータのインデックスと同じである必要があります。データマッパーは、不要なデータを示すため、必要に応じてパディングフィールドを自動的に追加します。

      この手順の最後にある例を参照してください。

    5. 任意で、 the Transformation icon をクリックして内容をターゲットフィールドにマップし、ソースまたはターゲットデータの変換 の説明どおりに変換を適用します。
  4. 必要に応じて、データマッピングの結果をプレビューします。

    1. the Show/Hide Preview Mapping icon をクリックし、ソースフィールドにテキスト入力フィールドを表示し、各ターゲットフィールドに読み取り専用結果フィールドを表示します。
    2. ソースフィールドのデータ入力フィールドに、サンプル値を入力します。フィールドのパーツの間には必ず区切り文字を入力してください。マッピングの結果は、ターゲットフィールドの読み取り専用フィールドに表示されます。

      ターゲットフィールドの順序を変更したり、ターゲットフィールドに変換を追加すると、ターゲットフィールドの結果フィールドにこれが反映されます。データマッパーがエラーを検出すると、Mapping Details パネルの上部に情報メッセージが表示されます。

    3. the Show/Hide Preview Mapping icon を再度クリックして、プレビューフィールドを非表示にします。

      プレビューフィールドを再表示すると、入力したデータはデータマッパーが終了するまでそのまま存在します。

  5. マッピングが適切に定義されていることを確認するには、 the Mapping Table icon をクリックし、このステップで定義されたマッピングを表示します。ソースフィールドの値を複数のターゲットフィールドに分割するマッピングは次のようになります。 Separate Fields Mapping

    このビューでは、マッピングの結果をプレビューすることもできます。 the Show/Hide Preview Mapping icon をクリックし、前のステップの説明どおりにテキストを入力します。プレビューフィールドは選択したマッピングのみに表示されます。表の別のマッピングをクリックして、そのプレビューフィールドを表示します。

1 つのフィールドを複数のフィールドに分割する例

ソースデータに 1 つのアドレスフィールドが含まれ、そのフィールドでは以下の例のようにコンマを使用してコンテンツのパーツを区切るとします。

77 Hill Street, Brooklyn, New York, United States, 12345, 6789

住所フィールドでは、コンテンツのパーツにこれらのインデックスがあります。

コンテンツインデックス

番地およびストリート名

1

2

3

国名

4

郵便番号

5

zip+4 コード

6

ターゲットデータに住所のフィールドが 4 つあるとします。

number-and-street
city
state
zip

マッピングを定義するには以下を行います。

  • ソースフィールドを選択し、 the Create new mapping icon をクリックします。
  • Mapping Details パネルの Sources セクションで、区切り文字を選択します。この例ではコンマが使用されます。
  • 4 つのターゲットフィールドを選択します。

この作業を行った後、TargetsMapping Details パネルに、選択した各ターゲットフィールドのエントリーが表示されます。例を以下に示します。

Example of initial entries をクリックします。

データマッパーで表示される順にターゲットエントリーが表示されます。これはアルファベット順になります。この順番がソースフィールドの順番を反映するように変更する必要があります。この例では、ソースフィールドの city コンテンツの前に number-and-street コンテンツが含まれます。ターゲットエントリーの順序を修正するには、city インデックスフィールドを 2 に変更します。結果は以下のようになります。

Example or reordered entries をクリックします。

ターゲットフィールドエントリーでは、インデックス番号はこのターゲットフィールドにマップされるソースフィールドのパーツを示します。インデックス値の 1 つを変更してターゲットフィールドの値を修正する必要があります。以下のターゲットフィールドを見てみましょう。

  • number-and-street: ソースフィールドの番地およびストリート名コンテンツのインデックス番号は 1 です。インデックスが 1 のソースを number-and-street ターゲットフィールドにマップするのは適切です。このターゲットエントリーに変更を加える必要はありません。
  • city: のソースフィールドの市コンテンツのインデックス番号は 2 です。このターゲットエントリーも適切です。
  • state: ソースフィールドの州コンテンツのインデックス番号は 3 です。このターゲットエントリーも適切です。
  • zip: ソースフィールドの郵便番号コンテンツのインデックス番号は 5 です。ターゲットフィールドエントリーのインデックス番号は 4 で、正しくありません。これを変更しないと、実行中にソースフィールドの国パーツが zip ターゲットフィールドにマップされます。インデックス番号を 5 に変更する必要があります。インデックス 5 のソースコンテンツを zip ターゲットフィールドにマップするよう、データマッパーに指示します。インデックスの変更後、インデックス番号が 4 のパディングフィールドがデータマッパーによって追加されます。結果は以下のようになります。

Example entries with padding をクリックします。

これでこのマッピングが完了します。ソースフィールドにはインデックス番号が 6 のコンテンツ (zip+4) がありますが、このデータはターゲットに必要なく、何もする必要はありません。