この接続学習パスでは、単純なJSONデータセットをCSVに変換する方法を説明するチェーンを作成します。また、JSONデータセットをループし、データ内の値に基づいてフィルターをかける方法を探ります。
| プライマリ学習目標 | JSONコネクター機能 |
| セカンダリ学習目標 |
表形式変換アドバンスクエリコマンド グループ反復 |
| 前提条件 | JSONコネクター接続の構成 |
| サポートテンプレート | CLP|JSONデータにアクセス |
ステップ1:チェーンの作成
- 新規チェーンの追加
- チェーンCLPの名称|JSONデータにアクセス
- チェーン変数の作成:
- チェーン変数の下にあるプラス記号をクリックします。
- チェーンの保存
ステップ2:JSONデータの取得
HTTPコネクターを使用して、ウェブ上の場所からJSON書式設定で人数関連データを取得します。
- HTTPコネクターからStartノードへのGETコマンド追加
- コマンドを以下のように構成する:
| 名称 | GET - 全従業員 |
| ユーザー名称 | <leave> |
| パスワード | <leave> |
| CA証明書 | <leave> |
| 証明書 | <leave> |
| 証明書秘密キー | <leave> |
| 表示レスポンス | チェック済み |
| URL | cv-JSON-Employee チェーン変数 |
| クエリ文字列 | <leave> |
| コンテンツタイプ | application/json |
| 応答 | <leave> |
- コマンドの保存
ステップ3:JSONからCSVへの変換
JSONコネクターを使用して、JSONデータセットをCSV書式設定に変換します。このステップでは、JSON配列から従業員IDと国フィールドのみを選択する。
JSONデータセットのスキーマを理解することが重要である。File Utilities コネクタの List File Content コマンドを使用して、スキーマを可視化できます。参照しやすいように、スキーマをGetコマンドのResponseフィールドに追加することもできる。以下は、従業員JSONのスキーマである:
スキーマ:
[
{
"emp_id": "26-4992011",
"user_name": "apostle0",
"first_name": "Audi",
"last_name": "Postle",
"job_title": "Chief Design Engineer",
"department": "Marketing",
"city": "Cheyenne",
"country": "United States",
"currency": "USD",
"hire_date": "08/30/2000",
"fte": 1,
"termed": false
}
]
- Array to CSV コマンドをJSON コネクター からチェーンに追加。
- 開始ノード(GET - 全従業員)をArray to CSV コマンドに接続する。
- コマンドの名称: Array to CSV - All Employees.
- JSONデータパラメータで、GET - 全従業員コマンドからのレスポンス出力を選択する。
- 入力テキスト 、ルートへのパス、そしてフィルターパラメータは空白のままにしておきます。
- Multi-value Delimiter パラメータはカンマ(,)のままにしておく。
- 結果プレビュー オプションをチェックする。
- 列セクションは、JSON配列からどの要素をCSVデータセットに抽出するかを指定するために使用します。列を追加するには、Add ボタンを1回クリックする。
- 最初の列で、列名称にemp_id を入力し、JSONPathパラメータに.emp_id を入力します。
- ❗ JSONPath パラメータでは、emp_id の前に必ず点線(.)を含んでください。
- 2列目には、列名称にcountry と入力し、JSONPathパラメータに.country と入力する。
- Delimiterパラメータ向けにCommaを選択します。
- 最初の列で、列名称にemp_id を入力し、JSONPathパラメータに.emp_id を入力します。
- コマンドの保存
ステップ4:データから国の固有リストを取得する
シンプルなSelect Distinct 宣言を Tabular Transformation Connector の Advanced クエリコマンドで使用して、データ内の一意の国設定を取得します。後ほど、このリストを使って国別の従業員を個別に検索する。
- Advanced QueryコマンドをTabular Transformation Connectorからチェーンに追加します。
- Array to CSV - All Employees コマンドをAdvanced Query コマンドに接続する。
- コマンドの名称:Advanced Query - Countries.
- テーブルセクションでは、1つまたは複数の区切りデータセットを使用して、SQLステートメントを記述するためのテーブルを作成することができます。指定したテーブルを持つSQLiteデータベースがその場で生成されるため、ソフトウェアの追加インストールは不要です。
- Fileフィールドで、Array to CSV - All EmployeesコマンドからConverted File出力を 指定します。
- テーブル名称 パラメータにCountries と入力。指定されたクエリがこのテーブルに対して実行される。
- クエリパラメータに以下を入力する:
国名から国を選択
- 入力デリミタ と出力デリミタ のパラメータにはカンマ を指定する。
- プレビュー結果 パラメータを確認する。
- コマンドを保存する。
ステップ5:国リストからJSON配列を作成する
JSON コネクターの CSV to JSON コマンドを使用して、一意の国のリストを JSON 配列に変換します。コマンドグループは、この配列の各アイテムを繰り返し処理することができる。
- CSV to JSON コマンドをJSON コネクター からチェーンに追加。
- Advanced Query - Countries コマンドをCSV to JSON コマンドに接続します。
- 以下のようにコマンドを構成する:
| 名称 | CSVからJSONへ - 国名 |
| 入力ファイル | 結果 Advanced Query - Countries コマンドからの出力 |
| 区切り記号 | コンマ (,) |
- コマンドの保存
ステップ6:コマンドグループの追加
チェーンにコマンドグループを追加し、アドバンスドクエリのステップで識別されたそれぞれの国に対する反復を実現します。
- コマンドグループ をチェーンに追加する。
- CSV to JSON - Countries コマンドをコマンドグループのIn セクションに接続。
- コマンドグループをクリックし、スポイトアイコンを選択してコマンドの色をオレンジ に変更する。
- グループの名称: 正社員。
- 反復タブの下にある「反復」トグルを有効化し、 「CSV to JSON - Countries コマンドから「JSON ファイル」出力を選択します。
- コマンドグループを保存する。
ステップ7:従業員のJSONデータを国別にフィルターする
JSONデータセットをCSVに変換し、現在イテレータでプロセス中の国の従業員レコードのみを絞込みます。このステップでは、ループまたは反復の機能と、JSON変換プロセスにフィルターを適用する機能という、2つの強力な機能が強調されています。これらの能力を理解することは、強固で効率的なチェーンを開発する能力を強化する。
このステップでは、前へ構成された Array を CSV コマンドへコピーし、以下にメモする場合を除き、構成はほぼ同じものを利用する。
- ArrayをCSVにコピー - 全社員 コマンド。
- グループ開始を、コマンドグループからArray to CSV - All Employees (Copy) Commandに接続します。
- コマンドを編集する。
- コマンドの名称: Array to CSV - Employees by Country.
- フィルターパラメータに以下を入力します:
?(@.country == " ")<JSON>
-
- 二重等号(==)記号の前と後には、空白が必要です。
- <JSONファイル反復>は、変数ペイン内のグループイテレーターの下のJSONファイル反復と交換する必要があります。
- JSON File Iterationを追加する際、Variableバブルをクリックし、Get Value from JSON Variable Transformationを追加します。
- 変数変換/トランスフォーメーションの値パラメータに「country 」と入力し、Enterキーを押す。JSONは大文字と小文字を区別する ということを覚えておきましょう。
- emp_id列を編集し、employee_idの列名称を取得します。JSONPathは変更しないでください。
- コマンドによって生成される列名称は、JSON配列のキーと一致する必要はありません。
- コマンドに10列を追加し、以下のように構成します:
| 列名 | JSONPath |
| ユーザー名 | .user_name |
| first_name | .first_name |
| ラストネーム | .last_name |
| タイトル | .job_title |
| 部署 | 部門 |
| 都市 | .city |
| 通貨 | 通貨 |
| 入社日 | .hire_date |
| fte | .fte |
| 終了 | .termed |
- コマンドを保存する。
ステップ8:エクササイズのテスト中
チェーンが完成したら、結果をテストする。
- チェーンを更新します。
- Execute をクリックして、Run Chain を選択する。
- チェーンが完了したら、Array to CSV - Employees by Country ノードをクリックします。
- 反復が5回実行されたことに注目してください。
- 各イテレータ値を選択し、Inputs タブをクリックします。フィルター が以下のテーブルと一致していることを確認する。
- イテレータ5を選択し、Logs タブをクリックする。データのプレビューが下の画像と一致していることを確認する。
| 反復1 | 米国 |
| 反復2 | ブラジル |
| 反復3 | ケニア |
| 反復4 | イタリア |
| 反復5 |
オーストラリア |
チェーンを使ったデータ変換の詳細は、Connected Learning Paths - Transformation Introduction をご覧ください!