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


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

前提条件

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

手順

  1. Sources パネルで、分割するコンテンツのあるフィールドをクリックします。
  2. Target パネルで、ソースフィールドデータを区切る最初のフィールドをクリックします。
  3. Target パネルで、ソースフィールドのデータの一部を含める追加の各ターゲットフィールドにマウスオーバーし、CTRL-Mouse1 (MacOS では CMD-Mouse1) を押して選択します。

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

    Mapping Details パネルで以下を行います。

    • SourcesSplit が表示されます。これは、マッピングの実行によりソースフィールドの値が分割され、複数のターゲットフィールドにマップされることを意味します。
    • Targets に選択した各ターゲットフィールドのエントリーがあります。
  4. Mapping Details パネルで、以下のようにマッピングを設定します。

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

      エントリーの順番が正しくない場合は、ターゲットフィールドエントリーをドラッグアンドドロップして、同じ順番になるよう調整します。データマッパーは新しい順番を反映するためにインデックス番号を自動的に更新します。

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

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

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

    5. 任意設定。Add Transformation をクリックし、内容をターゲットフィールドにマップし、変換を適用します。
  5. 任意設定。データマッピングの結果をプレビューします。

    1. データマッパーの右上で Editor settings をクリックし、Show Mapping Preview を選択して、ソースフィールドにテキスト入力フィールドを表示し、各ターゲットフィールドに読み取り専用結果フィールドを表示します。
    2. ソースフィールドのデータ入力フィールドにテキストを入力します。フィールドのパーツの間には必ず区切り文字を入力してください。テキストボックスの外部をクリックし、ターゲットフィールドの読み取り専用フィールドにマッピングの結果を表示します。

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

    3. Editor settings を再度クリックし、Show Mapping Preview を選択して、プレビューフィールドを非表示にします。

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

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

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

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

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

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

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

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

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

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) がありますが、このデータはターゲットに必要なく、何もする必要はありません。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.