Alteryxで手作業を自動化しようとすると、結構な数のボックスが並ぶことになります。
この項目の変換処理をどこでやったのかわからなくなることってありませんか?
Alteryxワークフローを見やすく、複数のボックスを一つの枠におさめ、必要に応じて折り畳むこともできる便利な機能が、Documentationカテゴリのツールコンテナ機能です。
本記事では、ツールコンテナを使って処理をわかりやすく整理する事例を紹介します。
ツールコンテナで処理のかたまりを可視化する
私はAlteryxをETLツールとして使っているため、Extract(抽出)して、Transform(変換)して、Load(格納)の3つのステップを順に実行していくことが多いです。
そのため、大きくはステップ別にツールコンテナを使って処理を分けています。
Extract(抽出)
Extractのコンテナには以下のような処理を入れています。
- それぞれのデータソースからのロード(データ読み込み)
- ロードしたデータのクレンジング
- 特定項目を条件としたレコード抽出
データソースごとに値を整えたり、対象外のレコードを除外するような処理はここに含めています。
Transform(変換)
Transformのコンテナには以下のような処理を入れています。
- データソース間の結合
- 計算フィールドの追加
- 縦持ち横持ちの変換
- 特定項目でグループ化した件数や合計値算出
主になるビジネスロジックはここに含めます。また、データの行数が変わるような、複数データの結合処理や持ち方の変換、集計処理はここで行います。
Load(格納)
Loadのコンテナには以下のような処理が入るとわかりやすいです。
- Excelファイルへの出力
主となるアウトプットファイルだけでなく、不一致や不整合のデータを補助的に出力する処理もここに含めます。
終わりに
本記事ではAlteryxワークフローを見やすくするためのツールコンテナの使用例を紹介しました。
例えばデータ結合や、縦持ち横持ち変換などは、ExtractやLoad側に入れてもいいのではと感じる方もいらっしゃるかもしれません。これは唯一の正解ではなく、あくまでも一つの考え方です。
個人的には、複数のデータソースを結合する時や、縦持ち横持ち変換は、レコード件数に影響を与えるので、Transformの中で処理させておくとわかりやすいです。読み込んだソース内でのフィルタもレコード件数は減りますが、単一条件で絞り込むのと、結合条件によって変わるのは、後から解析する時のしやすさが違います(結合で件数が膨らんだ時は特定しづらいです)。
ツールコンテナを使ってワークフローが見やすく整理されるとうれしいです!