このConnected Learning Pathでは、あるシステムからデータを抽出し、別のシステムにロードするためのデータファイルを準備するために、いくつかの変換を実行します。
主な学習目標 | 一般的な変換のニーズに対応するために使用できるTabular Transformation Connectorのシンプルで強力なコマンドをいくつか紹介します。 |
前提条件 | HTTP 、ファイルユーティリティ 、表形式変換 コネクタ接続の構成 |
チェーン・テンプレート | CLP|表形式の変換 |
ステップ1:チェーンを作る
- 新しいチェーンを追加する
- チェーンの名前CLP|表形式変換
- チェーン変数の作成
- セーブ・ザ・チェーン
ステップ2:ソース・システムからのデータ取得
HTTP コネクタを使用して、Workiva コネクタが存在しないデータ ソースからデータを取得する方法を説明します。
- HTTPコネクタからStartノードへのGETコマンドの追加
- コマンドを以下のように設定する:
ステップ3:データファイルのヘッダーを更新する
ファイル内のヘッダーを、変換完了後にデータファイルがロードされるシステムのフィールド名と一致するように更新する。Map Headersコマンドでは、インデックスに基づいてフィールド名を更新することができるため、将来フィールド名が変更された場合でも、コマンドはより柔軟に対応することができる。
- Tabular Transformation Connector からMap Headers コマンドをチェーンに追加。
- Start Node (HTTP - Get Source System Data) をMap Headers Command に接続する。
- コマンドを編集する:
- コマンドの名前マップヘッダー
- 入力ファイル パラメータをクリックする。左側に変数選択ペインが開きます。Command セクションで、Get - Source System Data Command を展開し、Response Output を選択します。
- 出力ファイルパラメーターは空白のまま
- 結果のプレビューにチェックを入れる
- デリミタ はそのままに、カンマ はソース・システム・データ・ファイルがカンマ区切りであるため。
- Input Headers パラメータには、0から7までの数字を入力する。ファイルは8つのフィールドを持ち、リストはゼロベースだからである。数字を入力したら必ずEnterキーを押してください!
- Use Indexes にチェックを入れる。これは、入力ヘッダーが実際のカラム名ではなく、ファイル内の位置に基づいていることをコマンドに伝えます。
- 出力ヘッダーに、作成する新しいフィールドの名前を指定する。リストの最初のエントリーは、ソース・システム・ファイルの最初のフィールドのヘッダー名を置き換え、残りの各エントリーも同様であるため、順序は重要である。以下のヘッダーを入力し、それぞれの後にEnterキーを押す:
- 製品
- 市場
- 月
- シナリオ
- 売上高
- COGS
- 経費
- 営業利益
- コマンドを保存する
ステップ4:データの列を行に移動する
次に、データファイルを更新して、複数列のデータを行に移し替え、1つのデータ列を作成する。この操作をアンピボットと呼ぶ。ピボット解除操作は、データを下流システムで期待される形式(すべてのデータを含む単一列)に揃える。
- Tabular Transformation Connector からUnpivot コマンドをチェーンに追加する。
- マップヘッダー コマンドをアンピボット コマンドに接続する。
- コマンドの編集
- コマンドの名前ピボット解除 - 小節を行に移動
- 入力ファイル パラメータには、マップヘッダー出力 を選択する。
- マップヘッダー出力はカンマ区切りのままなので、デリミター はカンマのままにしておく。
- Aggregation パラメーターで、Sum を選択する。Sumを選択すると、ピボット解除によって作成された行のうち、すべての列にわたって同じ行が、データ値を1つのデータ・ポイントに集約します。
- New Column Label パラメータに、Measures と入力します。これは新しいカラムのヘッダで、ピボット化されていないカラムのヘッダ値が入力されます。
- Data Column Label パラメーターに、Amount と入力する。
- Data Headers,Starting Pivot Column Name,Ending Pivot Column Name,Starting Pivot Column Index, andEnding Pivot Column Index フィールドは、ピボット操作を実行するために使用される。これらのパラメーターのすべてを指定する必要はない。
- Data Headers パラメータを使用する場合、残りのパラメータは空白のままにしておく。Data Headersパラメータでは、列の名前を指定することができる。このパラメータは、同時並行ではないフィールドに有効である。
- 開始/終了列名 パラメータは、(同時並行範囲の)最初と最後の列の名前を指定することができる。これらのパラメータを使用する場合、Data Headers パラメータと、Starting/Endding Column Index パラメータは空白のままにしておかなければならない。Ending Column Name が空白のままだと、Starting Column Name 以降の(そしてそれを含む)すべてのフィールドに対してピボット解除が実行されます。
- 開始/終了列インデックス パラメータは、最初と最後の列の位置を指定することができる。これらのパラメータを使用する場合、Data Headers パラメータと、Starting/Endding Column Name パラメータは空白のままにしておかなければならない。終了カ ラ ム イ ンデ ッ ク ス が空白の ま ま の場合、 ピ ボ ッ ト 解除は、開始カ ラ ム イ ンデ ッ ク ス 以降の (そしてそれを含む) すべての フ ィ ール ド に対 し て実行 さ れます。この練習では、これらのパラメータを使用する。
- 開始ピボット列インデックス に、4 と入力する。これは、インデックスがゼロベースなので、5列目からピボットするようにコマンドに指示します。
- Ending Pivot Column Index は空白のままにします。
- 結果のプレビューオプションをチェックする
- コマンドを保存する
ステップ5:シナリオの更新
次に、シナリオ名を変更する。これは、Integration Studioに適した、シンプルで単発の変換を示しています。より広範で複雑なリネーム変換は、Data Prepによって大幅に効率化されます。
- Tabular Transformation Connector からFind and Replace Command をチェーンに追加する。
- Unpivot コマンドをFind and Replace コマンドに接続する。
- コマンドを編集する:
- コマンドの名前検索と置換 - 予算と計画
- Input file パラメータで、Pivoted Result Output from Unpivot Command を選択する。
- 出力ファイル パラメータは空白のままにする。
- 結果のプレビューにチェックを入れる
- ピボット化されていないファイルはカンマ区切りのままなので、デリミタ として指定します。カンマ
- これからBudgetというテキストを見つけ、Planというテキストに置き換える。Find pattern パラメータに、Budget と入力する。
- Match Pattern Value パラメータで、Exact を選択する。
- Exact は、Find pattern パラメータで指定されたテキスト全体を検索することを意味する。部分文字列やワイルドカードを検索するには、正規表現(regex)パターン・タイプを使う必要がある。
- Replacement Value パラメーターに、Plan と入力する。予算(Budget)」というテキストは、「計画(Plan)」というテキストに置き換えられる。
- Replace matches only パラメーターは完全一致には適用されないので、デフォルトのままにしておいてください。
- Case Insensitive オプションのチェックは外したままにしてください。これにより、検索と置換の操作は大文字と小文字を区別するようになり、予算 は計画 に置き換えられますが、予算 は置き換えられません。
- 検索パターン(予算)が4列目にあるシナリオ欄。Columns パラメータには、パラメータがゼロベースであるため、数字の3(3)を入力する。
- コマンドを保存する
ステップ6:ニューヨーク・プランのデータのみを保持
次に、スマートフィルターコマンドを使って、ニューヨークのプランだけを残す。このスマートフィルターでは、データセットから特定の行を保持または削除するために使用されるデータに基づいて条件を指定することができます。
- Tabular Transformation Connector からSmart Filter Rows コマンドをチェーンに追加。
- Smart Filter Rows コマンドをFind and Replace コマンドに接続する。
- コマンドを編集する:
- コマンドの名前スマートフィルター行 - ニューヨークプランのみ
- 入力ファイル・パラメーターで、「検索と置換」コマンドから「検索と置換」出力 を選択する。
- 出力ファイル パラメータを空白のままにする。
- デリミターとしてカンマ を指定する。
- フィルタ セクションには、テキスト 、数字 、日付 のフィルタ機能がある。複数のフィルター条件を指定できる。異なるタイプ(テキスト、数値、日付)にフィルタを適用する場合は、左上の演算子を適宜指定する必要があります。指定されたタイプ(例えばテキスト)の中で複数の条件を適用する場合は、そのフィルター・タイプのオペレーターを指定する必要がある。
- この練習では、テキストベースのフィルタを適用して、グローバル演算子をAnd またはOr のいずれかにします。
- 必要に応じて、一般演算子をAND に設定する。
- テキスト フィルタの追加ボタンをクリックする。
- 列名 パラメータに、シナリオと入力する。
- 大文字と小文字を区別しない」のチェックを外したままにする
- 条件 ドロップダウンから、等しいを選択する。
- Compare Text パラメータに、Actual と入力する。
- Not およびTrim のチェックボックスはオフのままにしておく。
- このフィルターは、ScenarioフィールドにActualという値が含まれるレコードを削除するために使用される。
- テキストフィルターセクションで再度追加ボタンをクリックします。
- テキストフィルター演算子をOR に設定する。
- ORの組み合わせを選択し、ActualとNew Yorkの両方を除外する。
- 2つ目の条件では、列名としてMarket を指定する。
- コンディション をEquals に設定する。
- 比較テキスト をニューヨーク と指定する。
- 最後に、Not オプションをチェックしてください。
- テキストフィルター演算子をOR に設定する。
- 結果のプレビューオプションをチェックしたままにする
- 必要に応じて、一般演算子をAND に設定する。
- この練習では、テキストベースのフィルタを適用して、グローバル演算子をAnd またはOr のいずれかにします。
- 逆オプションにより、スマートフィルターは、フィルター条件に一致するすべての行を保持(チェックあり)または削除(チェックなし)することができます。この演習では、シナリオが Actual と等しいか、Market が New York と等しくない行をすべて削除したい。これを実現するために、 Inverse オプションのチェックを外す。
- コマンドを保存する
ステップ7:年カラムの追加
最後に、データの「年」を示す列をデータセットに追加する。
- Tabular Transformation Connectorからチェーンへの列挿入コマンドの追加
- 列挿入コマンドとスマートフィルター行コマンドの接続
- コマンドを編集し、以下のように設定する:
名称 | 挿入コラム - 計画年 |
入力ファイル | スマートフィルター行出力 |
出力ファイル | <空白のまま |
プレビュー結果 | チェック済み |
デリミター | コンマ |
ヘッダーテキスト | 年 |
データ値 | 2022 |
挿入インデックス | 3 |
- コマンドを保存する
ステップ8:エクササイズのテスト
チェーンが完成したら、結果をテストする。
- 出版 チェーン
- Execute をクリックし、Run Chain を選択する。
- チェーンが完了したら、「列の挿入 - 計画年」ノードをクリックします。
- Outputs タブで、385 レコード が出力されたことを確認する。
- ログ」タブをクリックし、以下の画像に従ってデータを確認する。
出力タブ
ログタブ
チェーンを使ったデータ変換の詳細については、Connected Learning Paths - Transformation Introduction をご覧ください!