# DSQLマップを作成

DSQLマップで基本的なマッピングを作成します。

## 手順

1. MappingパースペクティブのData Mapperタブで、[Hierarchical Mapper] (階層マッパー)の[Maps] (マップ)を右クリックし、[New] (新規) &gt; [Map] (マップ)の順にクリックします。
2. ウィザードが開いたら、[DSQL Map] (DSQLマップ)を選択し、[Next] (次へ)をクリックします。
3. フォルダーを選択してマップの名前を入力し、[Finish] (終了)をクリックします。

   この名前はすべてのマップで一意であることが必要です。

   エディターでマップが開き、ここでストラクチャーを追加できます。
4. [Hierarchical Mapper] (階層マッパー)から入力ストラクチャーをエディターの左セクションに、出力ストラクチャーを右セクションにそれぞれ配置します。

   ストラクチャーに複数の表記がある場合は、エディターの上部にある表記名(この例ではJSON)をクリックして別の表現を選択することもできます。詳細は、[ストラクチャーに表記を追加](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/8.0/adding-representation-to-structure)をご覧ください。

   ルートエレメント間に最初のマッピングが自動的に作成されます。出力ストラクチャーのルートエレメントに、対応するData Shaping Query Languageの式が表示されます。 ![入力ストラクチャーと出力ストラクチャー。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm-dsql-map-editor-basic-root-expression.png)
5. 入力ルートエレメント(この例ではbikesandscoots)を右クリックし、[Expand all] (すべて展開)をクリックして、ストラクチャーにあるエレメントをすべて表示させます。
6. make入力エレメントをmake出力エレメントに配置します。

   情報メモヒント: 入力エレメントは出力ストラクチャーにある対応のエレメントに配置できますが、マップの下にある出力エレメントの式エディターで配置することも可能です。

   categories入力エレメントとitems入力エレメントがitems出力エレメントに接続されていることがわかります。items出力エレメントをクリックすると、次の式が自動生成されていることがわかります。
   ```
   FROM categories
   UNNEST items
   ```

   ![エレメントの配置。](https://help.qlik.com/talend/ja-JP/data-mapper-user-guide/Resources/images/tdm-dsql-map-editor-basic-unnest-expression.png)

   この式は、入力にある各categoriesエレメントに含まれている各itemsエレメントに対し、マップが出力itemsエレメントを1つ生成することを意味します。この例で使用した入力ファイルでは、itemsが3つ含まれているcategoriesが2つあるので、出力にはitemsエレメントが6つ含まれることになります。
7. items出力エレメントで、既存の式の下に次の句を追加し、出力をフィルタリングして、自転車に関連するレコードのみが保持されるようにします。
   ```
   WHERE category = 'bicycles'
   ```

   これでcategory入力エレメントがクエリーに含まれるようになり、items出力エレメントに接続します。
8. description入力エレメントを対応する出力エレメントに配置します。
9. price出力エレメントをクリックし、次の式を入力して出力をフォーマットします。
   ```
   concat(price,' USD')
   ```

## タスクの結果

マップが設定され、[Test Run] (テスト実行)機能を使ってテストできるようになります。