Alteryxのワークフロー開発・デバッグを高速化するためのTipsを紹介します。
Alteryxのワークフローを開発する際に、ちょっとしたオプションなど様々な機能を使いこなすことで、開発効率を圧倒的に高めることができます。
今回は、そのような開発効率を高めるためのTipsを紹介致します。
進行状況を常に表示
Alteryx Designerでワークフローを実行すると、進行状況が表示されると思います。その際、アイコンごとにレコード数とデータ容量が表示されます。これ、デフォルト設定では実行後一定時間が経過すると消えてしまいます。
これ、ずっと表示できていたらワークフローのデバッグに役に立つのに!と思っていらっしゃる方に朗報です。
「Workflow - Configuration」の「Canvas」タブから「接続の進行状況」がデフォルトで「実行時のみ表示」になっているので、「表示」に切り替えるだけでできます。
このオプションを変えるだけで、ずっと表示されます。
ワークフローの一部処理をツールコンテナで無効化
ワークフローをツールコンテナでブロック化することで、ワークフローを理解しやすくできますが、それ以外にも一時的に「無効」にすることで、処理をスキップすることができます。
例えば、ワークフローの途中で分岐している処理があり、片方は作り終わったのでツールコンテナに入れておき、無効にしておくことで、開発効率を高めることができます。
出力を書き込むすべてのツールを無効化
ワークフローを作り込んで行く際、ある程度完成してくると、ファイルに出力する部分で処理に時間がかかり、結果的にワークフロー作成の効率が落ちる要因となります。そのような際に、出力を書き込むツールを無効にすることができます。
「Workflow - Configuration」の「Runtime」タブから「出力を書き込むすべてのツールを無効にする」にチェックを入れるだけです。
上記オプションにチェックを入れると、無効化されたアイコンが網掛けされます。
約3万件のデータを読み込み、30万件のデータを書き込むワークフローですが、書き込みツールが有効になっていると32秒程度かかっていたところが、0.3秒で終わるようになりました。これでデバッグ作業も圧倒的に効率化できます。
すべての入力のレコード数に制限をかける
入力データのレコード数が多い場合、ワークフローの作成に時間がかかります。入力ツール上で、ひとつひとつのインプットに対してレコード数の制限をかけることもできますが、面倒ですしかけたまま間違えて展開、ということもあるかもしれません。
そんな場合に、すべての入力に一括で制限をかけるオプションが存在します。
上記オプションですが、空白は制限なしです。ちなみに、マスターテーブルなどがある場合、そちらまで制限がかかると困るケースもあるかと思いますので、上手に使ってください。
キャッシング実行
ワークフローを作成する際、何度もワークフローを実行すると思いますが、入力データの読み込み自体にかなりの時間を取られることが多いと思います。正直なところ、Alteryxの処理自体はそれほど時間かからないのに、読み込みに時間がかなり持っていかれる、というのはみなさんよく経験しているかと思います。それだけメモリ上の処理が高速、ということかと思います。
それを解決する策の一つとして、「ワークフローのキャッシュと実行」の機能があります。
この機能であれば、入力データの制限などと比べると完全なデータを高速に扱うことができるという利点があります。
やり方は以下の通り、キャッシュをかけたいアイコンで右クリックし、メニューから「ワークフローのキャッシュと実行」を選択するだけです。
「ワークフローのキャッシュと実行」を行うと、キャッシュデータを作成しながらワークフローが実行されます。キャッシュされているアイコンについては形状が変わります。
手動でキャッシュを削除したい時は、右クリックから「キャッシュの消去」を選択します。
なお、キャッシュがかかっているアイコンに変更を加えるとキャッシュは自動的に削除されます。また、キャッシュの起点(?)となるアイコンは青色の枠で囲まれていますが、それ以外のアイコンは灰色の枠で囲まれています。
※Alteryx Designer Ver 2019.1.4.57073時点の情報です