# マップでglobalMap変数を使用

ジョブを設定して、さまざまなコンポーネントでglobalMap変数を使います。

## 手順

1. ジョブで、tHMapコンポーネントの下にtLoopコンポーネントを追加し、[Trigger] (トリガー) &gt; [On Component Ok] (コンポーネントがOKの場合)接続を使ってtHMapコンポーネントをtLoopコンポーネントにリンクします。
2. tLoopの横に、以下のコンポーネントを追加します:
   * tHttpRequest
   * tHMap
   * tLogRow
3. [Row] (行) &gt; [Iterate] (反復処理)接続を使ってtLoopをtHttpRequestとリンクして、[Row] (行) &gt; [Main] (メイン)接続を使って他のコンポーネントをリンクします。

   ジョブは次のようになります: ![ジョブの説明。](https://help.qlik.com/talend/ja-JP/data-mapper-functions-reference-guide/Resources/images/using_globalmap_variable_map_01_job.png)
4. tLoopコンポーネントをダブルクリックして、以下のように設定します:
   | パラメーター | 値 |
   | --- | --- |
   | Loop Type | For |
   | From | 1 |
   | To | (((java.math.BigInteger)globalMap.get("total.pages"))).intValue() |
   | Step | 1 |

   この設定によって、APIレスポンスでループの末尾を合計ページ数として定義できます。マップ内に作成されたtotal.pages変数がBigIntegerであるために、tLoopで値として使うには、それを整数に変換する必要があります。 ![tLoopコンポーネントの\[Basic settings\] (基本設定)。](https://help.qlik.com/talend/ja-JP/data-mapper-functions-reference-guide/Resources/images/using_globalmap_variable_map_02_tloop.png)
5. 2つ目のtHttpRequestコンポーネントをダブルクリックして、以下のように設定します:
   | パラメーター | 値 |
   | --- | --- |
   | URI | "https://www.swapi.tech/api/people?page="+((Integer)globalMap.get("tLoop\_1\_CURRENT\_VALUE"))+"&limit=10" |
   | Method | GET |

   この設定によって、リクエストパラメーターで現在のループの値をページ番号として使えます。
6. tLogRowをダブルクリックして、次のスキーマを定義します:
   | カラム | [Type] (タイプ) |
   | --- | --- |
   | page | Integer |
   | character | 文字列 |
   | character\_id | Integer |
7. tHMapコンポーネントをダブルクリックして、マップを生成します。
   1. 1番目のステップでは、[Select an existing hierarchical mapper structure] (既存の階層マッパーストラクチャーを選択)を選択して、[Next] (次へ)をクリックしてから、APIから作成したストラクチャーを選択します。
   2. 2番目のステップでは、デフォルトオプションのままにしておき、[Next] (次へ)をクリックしてから、[FInish] (終了)をクリックします。

   マップが作成され、定義できるようになります。
8. 出力character\_idエレメントに入力results/uuidエレメントを、出力characterエレメントに入力results/nameエレメントをそれぞれ配置します。
9. GetValueFromExternalMapファンクションを出力pageエレメントに配置し、Key引数にConstantファンクションを追加します。
10. Constantファンクションをダブルクリックして、[Value] (値)フィールドにtLoop\_1\_CURRENT\_VALUEと入力します。

    これによって、tLoopコンポーネントから現在のループの値を取得して、各結果のページ番号を把握できます。 ![Constantファンクションのエントリー。](https://help.qlik.com/talend/ja-JP/data-mapper-functions-reference-guide/Resources/images/using_globalmap_variable_map_03_map.png)
11. [Run] (実行)タブを開き、[Run] (実行)をクリックしてジョブを実行します。

## タスクの結果

結果は次のようになります。 ![ジョブ結果。](https://help.qlik.com/talend/ja-JP/data-mapper-functions-reference-guide/Resources/images/using_globalmap_variable_map_04_result.png)