# 複数の出力でフラット化マップを作成

## 始める前に

* 階層ストラクチャーが作成済みであること。

## このタスクについて

この例では、入力階層ストラクチャーは次のようになります。 ![顧客を伴う階層ストラクチャーの例。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_01_structure.png)

## 手順

1. MappingパースペクティブのData Mapperタブで、[Hierarchical Mapper] (階層マッパー)の[Maps] (マップ)を右クリックし、[New] (新規) &gt; [Map] (マップ)の順にクリックします。
2. [Flattening DSQL Map - Create a DSQL map which flattens an input structure] (フラット化DSQLマップ - 入力ストラクチャーをフラット化するDSQLマップを作成)を選択し、[Next] (次へ)をクリックします。
3. フォルダーを選択し、マップの名前を入力して[Next] (次へ)をクリックします。
4. フラット化するストラクチャーを選択し、[Next] (次へ)をクリックします。
5. フォルダーを選択し、新しいストラクチャーの名前を入力し、[Next] (次へ)をクリックします。
6. [Multi-output] (マルチ出力)ラジオボタンを選択します。

   新しい[Output] (出力)カラムが表示されます。
7. 出力として使用する各ループの[Output] (出力)チェックボックスをオンにして、[Next] (次へ)をクリックします。

   選択した各ノードは、新しい出力のルートとして使用されます。たとえば、次の画像での選択によって、customerとorderという2つの出力が作成されます。 ![\[Choose parameters of the flattening process\] (フラット化プロセスのパラメーターを選択)ダイアログボックス。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_03_select_outputs.png)
8. オプション: ピボットにないエレメント用に、[Max Occurs] (最大発生)属性の値を変更します。
   * 繰り返し可能なエレメントの値をすべて変更するには、[Set Max Occurs for all repeatable elements] (繰り返し可能なすべてのエレメントに最大発生を設定)ボタンをクリックします。 ![\[Set Max Occurs for all repeatable elements\] (繰り返し可能な全エレメントの最大発生数を設定)オプションが強調表示されている状態。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_04_max_occurs.png)
   * 1つまたは複数のノードを選択して右クリックし、[Set Max Occurs] (最大発生の設定)を選択し、数字を入力します。選択したノードの子孫すべてにこの設定を適用するには、[Apply max occurs to descendant(s)] (最大発生を子孫に適用)チェックボックスをオンにして、OKをクリックします。
9. 各出力のパラメーターを定義します。

   矢印ボタンまたはドロップダウンリストを使用して、さまざまな出力間を移動できます。 ![\[Choose parameters of flattening process for outputs\] (出力用にフラット化プロセスのパラメーターを選択)ダイアログボックス。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_05_configure_outputs.png)
   1. 該当するノードを右クリックし、[Set Pivot] (ピボットを設定)をクリックして、ピボットを選択します。また、![\[Select Initial Pivot\] (初期ピボットを選択)](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/select_pivot.png)ボタンをクリックすると、既定のピボットが自動的に選択されます。

      ピボットとは、ルートノードで開始しリーフノードで終了するノードのパスのことです。選択されているピボットは、フラット化されたストラクチャー内の行数を決定します。

      また、ノードを右クリックし、[Remove From Pivot] (ピボットから削除)をクリックすれば、ノードをピボットから削除することもできます。
   2. フィルターを無効にして非ルーピングエレメントをすべて表示させる場合は、[Filter primitive fields] (プリミティブフィールドをフィルタリング)をクリックします。

      このフィルターはデフォルトで有効になっており、プリミティブフィールドはすべて出力ストラクチャーに含まれています。これらのエレメントを一部除外したい場合は、フィルターを無効にし、関連するチェックボックスを解除します。 ![\[Filter primitive fields\] (プリミティブフィールドをフィルタリング)オプションが強調表示されている状態。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_06_primitive_fields.png)

      情報メモヒント:

      複数の出力に同じプリミティブフィールドが含まれている場合は、ドロップダウンリストの左側にあるボタンを使用して、同じ選択を複数の出力に簡単に適用できます。

      たとえば、すべての出力からratingカラムを削除する場合は、最初の出力のチェックボックスをオフにして、[Propagate primitive fields selection to next suitable outputs] (プリミティブフィールドの選択を次の適切な出力にプロパゲート)ボタンをクリックします。同じチェックボックスは、次の出力で自動的にオフになります。 ![\[New Map\] (新しいマップ)ダイアログボックスで、\[Propagate primitive fields selection to next suitable outputs\] (プリミティブフィールドの選択を次の適切な出力にプロパゲート)オプションが強調表示されている状態。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_07_copy_selection.png)

      [Copy Selection States] (選択状態のコピー)と[Paste Selection States] (選択状態の貼り付け)ボタンを使用して、選択を特定の出力に適用することもできます。
10. 出力エレメント名の最大長をカスタムで設定したい場合は、[Next] (次へ)をクリックして[Max length of column names] (カラム名の最大長)チェックボックスをオンにします。

    最大長を超えたエレメント名は、制限に収まるまで切り詰められます。詳細は、[フラット化ストラクチャーの命名](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/8.0-R2025-05/flattened-structure-naming "フラット化マップを作成すると、フラット化された出力ストラクチャーが生成され、そのエレメントは入力ストラクチャーに基づいて命名されます。")をご覧ください。
11. 必要に応じて[Create a Studio schema from the flattened structure] (フラット化したストラクチャーからStudioのスキーマを作成)チェックボックスをオンにして、[Finish] (終了)をクリックします。

    情報メモ注: このチェックボックスをオンにすると、出力ストラクチャーはデフォルトで[Map] (マップ)表記を使用します。クリアすると、出力はCSV表記を使用します。

## タスクの結果

マップと出力ストラクチャーが作成されます。選択したフォルダーには、出力ごとに1つのストラクチャーが作成され、それらを組み合わせるために別のストラクチャーが作成されます。マップが開き、出力ストラクチャーのエレメントに入力ストラクチャーのエレメントが自動でマッピングされます。

この例では次のようになります。

![フラット化マップの例。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/create_flattening_map_multi_08_map.png)