『Alteryx Advent Calendar 2016』スポット参戦シリーズ第六弾です。
Alteryx Advent Calendar 2016 | シリーズ | Developers.IO
Alteryx Advent Calendar 2016 – Qiita
20日目のエントリとして細分化されたAlteryxワークフローを一度に回してくれるRunnerマクロを使ってみたいと思います。
14日目と16日目のエントリにて、調査データをAlteryxで加工してみましたが、調査データをAlteryxで加工すると時に、たとえば、特定質問でYesと答えた回答者で回答率を算出したり、移動平均を算出したりするという加工を入れると、Alteryxワークフローが非常に大きくなってしまうことがあります。
そうなってしまうと、たとえばロジックの改修を行う際に、毎回大きなワークフローを回す必要が出たり、またエラーが出た際に原因を特定するために、大きなワークフローを回す必要が出たりと、ワークフローが回るまでの待機時間が長くなってしまいます。
また、複雑な集計処理をしていなくても、データ量が膨大な場合、ワークフローが完全に回ってからでないと加工状況が見えないため、集計処理が正しいかを確認しようとするたびに、ワークフローを回すことになり、ワークフローが回るまでの待機時間が長くなってしまいます。
上記のような状況の場合、ワークフローを細分化するとワークフローが回るまでの待機時間が短縮されます。
しかし、定期運用をする必要があるデータの場合、毎回細分化されたワークフローをすべて回す必要があるため、更新に時間を費やしてしまうことになります。
これを解決するのが、今回紹介しますRunnerというツールとなります。
このツールは、Alteryxにデフォルトで入ってるツールではなく、Alteryxの社員であるAdam Rileyさんが任意で作成したマクロとなります。
※Alteryxユーザーであれば、任意でマクロを作って、それをネット上で共有することができます。
以下でAdam Rileyさん作成したマクロのパッケージを一括ダウンロードできます。
実際にRunnerを使ってみようかと思います。
まずは細分化した2つのAlteryxを用意しました。
1つ目はAlteryxで調査データをTableau用データに加工してみた-Part 1で使ったワークフローです。
2つ目はAlteryxで調査データをTableau用データに加工してみた-Part 2 #Alteryx #16 | Alteryx Advent Calendar 2016で使ったワークフローにさらに加工を加えたものです。
次に、Runnerを使って、Alteryxワークフローを作成します。
Runnerで1つ目のワークフローを指定して、Conditional Runnerで2つ目のワークフローを指定します。
Conditional Runnerは何個もつなぐことができるので、細分化さらたワークフローがいくつあっても問題ありません。
上記のように設定して、ワークフローを回せば、細分化されたワークフローを順番に回してくれます。
Runnerを使う上で注意すべき点は、ワークフロー名、Inputデータ名、Outputデータ名に日本語が入っていると、エラーが出てしまい、正常に作動しない点です。
※2018/08/01にInput名、Output名を取り消ししました。マクロが更新されて、Input名とOutput名は日本語でも問題なくなりました。
明日21日目はクラスメソッドさんのエントリです。乞うご期待!
Kazuki Koebisawa