詳細な集計の演習
作成対象:
- 初心者
- ユーザー
集計時のグループ化の使用方法について説明します。
演習の概要
Web サービスを呼び出して複数の国に関する詳細を返し、サブ地域ごとにグループ化されたすべての国の総母集団を特定します。
手順
国の詳細を取得します。
-
新しいシナリオを作成し、「詳細な集計」という名前を付けます。
-
トリガーモジュールを HTTP - リクエストを行うモジュールに設定します。
-
この URL
https://restcountries.com/v2/lang/es
を使用すると、スペイン語圏のすべての国のリストが表示されます。 -
メソッドは Get のままにします。
-
「応答を解析」チェックボックスをクリックします。
-
このモジュールの名前を「国を取得」に変更します。
-
「保存」をクリックし、「1 回実行」をクリックします。
出力は 1 つのバンドルですが、スペイン語圏の国ごとに 1 つずつ、24 のコレクションを含む配列になっています。
国ごとにサブ地域情報を収集する必要があるので、追加の HTTP リクエストを行う必要があります。
-
サブ地域情報を取得する別のリクエストを追加します。最初の国のみが返されますが、今は問題ありません。別の HTTP リクエストを行うモジュールを追加し、URL
https://restcountries.com/v2/name/{country name}
を使用します。 -
最初の国名を取得するには、マッピングパネルに移動し、「データ」をクリックしてから、配列内の「名前」をクリックします。データフィールドの [1] では、配列の最初の項目を返します。
- 数字をクリックし、必要に応じてインデックスを変更しますが、この場合は最初の項目だけが必要です。
-
マッピングパネルで「応答を解析」をオンにして、「OK」をクリックします。
-
この名前を「国の詳細を取得」に変更します。
-
「保存」、「1 回実行」の順にクリックします。
- 出力されるのは、1 つの国の情報です。
-
その他の国を取得するには、配列を繰り返し処理する必要があります。物のリストを受け取り、リストの各項目のバンドルを出力するイテレータを追加します。
イテレータとアグリゲータを追加します。
-
HTTP モジュール間を右クリックし、イテレータフローコントロールモジュールを追加します。
-
「配列」フィールドで、国を取得モジュールから「データ」を選択します。
-
国の詳細を取得モジュールで URL フィールドを更新して、国を取得モジュールではなくイテレータから名前フィールドを取得します。
-
「国の詳細を取得」の後に数値アグリゲータを追加し、母集団をグループ化して合計します。
-
ソースモジュールは、イテレータモジュールです。
-
集計関数は SUM です。
-
値は、国の詳細を取得モジュールの [data:population] です。
-
下部にある「詳細設定を表示」オプションをクリックし、国の詳細を取得モジュールから [data:subregion] でグループ化します。
テキスト集約関数で終了し、数値アグリゲータ内でグループ化したものを集計します。
-
テキストアグリゲータを最後に追加します。
-
ソースモジュールは、数値アグリゲータです。
-
テキストエリアに、「[キー] の総母集団は[結果]です」と挿入します。
-
保存して 1 回実行します。
- 最終モジュールからの出力をレビューします。