WeeklyAlteryxTips#76 時間がかかるワークフローの続きを高速で作成する

Alteryx

ワークフローを作成していると、ツールの数が増えて複雑になるにつれてワークフローが実行される時間がかかったり、データベース(DB)からデータを持ってくるような場合に、毎回データベースへのアクセスが行われているとDBに負荷もかかりますし、DWHなどだと課金が毎回発生したりします。

これに対処する方法を今回はご紹介します。

といっても、非常に単純なお話です。

ある程度きりのいいところまで作ったところ、もしくはDBなどの場合はDBの入力後などにデータ出力ツールを使ってyxdb形式で保存しておきます。

DBからの入力直後の場合

DBからの入力直後にデータ出力ツールを用いて、YXDB形式で保存します。

YXDB形式はAlteryx専用の形式となっており、非常に高速でデータの読み書きが可能です。

そして、この保存したファイルに入力を切り替えて、DBの入力は止めます。

そして、データ出力ツールは右クリックで簡単にデータ入力ツールに変更が可能です。

これで、以下のようになります。

さて、ここからどうするか、ですが、めったに切り替えをしないのであれば、このままセレクトツールに接続されているDB入力と繋ぎ変えればオッケーです。

もしくは、以下のようにユニオンツールを差し込んでしまうと楽かもしれません。

これであればYXDBで保存している方もコンテナに格納してDB入力とローカルのファイルを簡単に切り替えることもできます。

これだといつでもデバッグ用のデータに切り替えることができるので便利です。

非常に長いワークフローの場合

ワークフロー作成の途中で、正規表現で試行錯誤したり、ロジックを考えるのに試行錯誤することがあると思います。この試行錯誤をするフェーズでは、何度もワークフローを実行して処理をやり直すと思いますが、ワークフローが長大だと試行錯誤の部分まで動作させるのに結構な時間がかかることがあります。

ワークフローのキャッシュと実行

このような場合、「ワークフローのキャッシュと実行」機能を使うこともできます。

この機能は、キャッシュ実行を行ったツール以前は実行されず、キャッシュポイントから実行されるようになります。

ただし、ワークフローを閉じて開き直したりするとこのキャッシュは消えます。

YXDBに保存し、入力に変更して別ワークフローにする

ですので、続きが長くなりそうであれば、DBの入力のときと同じように、一度YXDB形式で保存しておくと便利です。

そして、いっそのことこのような場合は別ワークフローとして作ってしまう、というのも一つの手です。その場合、データ保存した部分より前をコンテナツールに入れて無効化したりなどめんどくさいことは不要です。この保存したデータから別ワークフローで作り込んでみてはいかがでしょうか?

後半部分が完成したら、また元のワークフローにぺたっと、コピペで完成します。

まとめ

  • 今回はワークフロー作成の時短テクニック、およびクラウドDWHの使用料金を節約する、という観点で「ワークフローのキャッシュと実行」と「右クリックでデータ入力に変換」をご紹介しました。
  • データ量が保存するほどでもない場合は、右クリックでテキスト入力ツールとして貼り付け、という方法もあります。

次回

Wokrflow XML Parserを見ていきたいと思います。

コメント

タイトルとURLをコピーしました