出力モードの定義

Talend Open Studio for Data Integration ユーザーガイド

EnrichVersion
5.6
EnrichProdName
Talend Open Studio for Data Integration
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

ドキュメント型データの出力モードを定義するには、すべてのXMLモジュールを単一のXMLフローに入れるかどうか、また空のモジュールが存在する場合に出力するかどうかを定義します。そのためには、作成したXMLツリーの構造を変更しないようにします。

モジュールを1つのドキュメントに出力する方法

常に出力モジュールを分類し、出力XMLフローを分割する集約モジュールを使用していない場合、[tXMLMap]エディターで[All in one] (オールインワン)フィーチャーを使用して、XMLフローを単一のフローとして出力するか、あるいは個別のフローとして出力するか決定することができます。

[Map editor] (マップエディター)の出力側で、次のようにします。

  1. ペンチのアイコンをクリックして、マップ設定パネルを開きます。次の図に例を示します。

  2. [All in one] (オールインワン)フィールドをクリックして、ドロップダウンリストから[true] (真)または[false] (偽)を選択して、出力XMLフローを単一のフローにするかどうかを指定します。

    • [true] (真)を選択すると、XMLデータはすべて単一のフローで出力されます。この例では、単一フローは次のようになります。

      このフローの構造は次のようになります。

    • [false] (偽)を選択すると、データは個別のフローで出力され、それぞれのループが1つのフローになり、グループ化や集約は行われません。この例のフローは次のようになります。

      各フローには、1つの完全なXML構造が含まれます。最初のフローを例にとると、その構造は次のようになります。

注記

[All in one] (オールインワン)フィーチャーは、集約モジュールを使用していると無効になります。集約モジュールの詳細は、出力データを集約する方法を参照してください。

マップエディターで空モジュールを管理する方法

[tXMLMap][tWriteXMLField]を使用して空モジュールを作成する場合や、出力XMLデータフローのXMLノードに入力カラムが関連付けられていない場合など、データをXMLフローに変換するプロセスで、空モジュールを作成して出力する必要が生じる場合があります。

逆に、何らかの理由で空モジュールを出力XMLツリーに保持する必要があっても、出力する必要はない場合もあります。

[tXMLMap]では、空モジュールを作成するかどうかをBoolean値で設定することができます。[Map editor] (マップエディター)の出力側で、次のようにします。

  1. ペンチのアイコンをクリックして、マップ設定パネルを開きます。

  2. パネルで[Create empty element] (空モジュールの作成)フィールドをクリックして、ドロップダウンリストから[true] (真)または[false] (偽)を選択して、空モジュールを出力するかどうかを指定します。

    • [true] (真)を選択すると、出力XMLフローに空モジュールが作成され、<customer><LabelState/></customer>のように出力されます。

    • [false] (偽)を選択すると、空モジュールは出力されません。

複数の入力ループのシーケンスを定義する方法

ループモジュール、またはフラットデータフローで入力フローの複数のループモジュールからマッピングを受け取る場合、入力ループのシーケンスを定義する必要があります。このシーケンスの最初のループモジュールがプライマリループになるため、このシーケンスに関連する変換処理では、最初にこのモジュールでのループが実行され、出力データがこのモジュールの値でソートされます。

たとえば、この図ではtypesモジュールがプライマリループになり、出力データはこのモジュールの値でソートされます。

この場合、1つの出力ループモジュールが複数の入力ループモジュールを受け取り、ループモジュールのとなり、またはフラットデータフローを示すテーブルの先頭に[...]ボタンが表示されます。ループのシーケンスを定義するには、次のようにします。

  1. [...]ボタンをクリックすると、上記のシーケンス設定ウィンドウが開きます。

  2. 上向きまたは下向きフラッシュボタンを使用して、シーケンスを変更します。