Tableau-id Press編集部 / About Author
Tableau-ID Alteryx【Alteryx】複数に分かれたAlteryxフローをコマンドラインで一括実行する方法
こんにちは、Yukoです!とても久しぶりの投稿になってしまいました…
Alteryxであるあるな方もいるかもしれませんが、開発していて気づいたらフローの数がすごいになっていた…
なんてことはありませんか?これ、一つ一つ開いて実行していくのは大変ですよね。
Crew Macroの一つで、複数のフローを一括実行するのにとても便利なRunner macroについては、
以前こちらの記事で紹介しました。
細分化されたAlteryxワークフローを一度に回してくれるRunnerマクロを使ってみた #Alteryx #20 | Alteryx Advent Calendar 2016
https://blog.truestar.co.jp/alteryx/20161220/978/
ただしRunner macroはAlteryxのデフォルトの機能ではなく、サードパーティー製になります。
2021年6月現在、Designer2021.2のリリースノートにはCrewマクロを回そうとすると
エラーになってしまう、ということが既知の問題となっています。
Designer2021.2 リリースノート
https://help.alteryx.com/ja/release-notes/designer/designer-20212-release-notes
今後リリースされる新しいバージョンでこの問題に対応してくれるのを期待したいのですが、
一方で安定的に一括実行できるものが欲しいですよね。
前置きが長くなりましたが、そこで今回は複数に分かれたAlteryxフローを一括実行するWindows バッチについて紹介したいと思います。
実行コマンドはAlteryxEngineCmd.exeで、Alteryxをインストールした際のbinディレクトリにあり、
既定のパスはC:\Program Files\Alteryx\binになります。
また、実行するにはエンジンAPIライセンスが必要になります。
コマンドラインでワークフローを実行
https://help.alteryx.com/ja/current/designer/run-workflows-command-line
AlteryxDesignerだと、Automation Add-on のライセンスがあれば付随しているので実行できました。
以下のような階層のうち、00 Alteryx配下にあるフロー1~3を上から順番に実行していきます。
一括実行.batファイルの中身は以下です。
@echo off
echo フロー1.yxmd 開始
"C:\Program Files\Alteryx\bin\AlteryxEngineCmd.exe" ".\00 Alteryx\フロー1.yxmd" >log\log.txt
if %ERRORLEVEL% == 2 (
echo エラー発生
goto end
)
echo フロー1.yxmd 終了
echo フロー2.yxmd 開始
"C:\Program Files\Alteryx\bin\AlteryxEngineCmd.exe" ".\00 Alteryx\フロー2.yxmd" >log\log.txt
if %ERRORLEVEL% == 2 (
echo エラー発生
goto end
)
echo フロー2.yxmd 終了
echo フロー3.yxmd 開始
"C:\Program Files\Alteryx\bin\AlteryxEngineCmd.exe" ".\00 Alteryx\フロー3.yxmd" >log\log.txt
if %ERRORLEVEL% == 2 (
echo エラー発生
goto end
)
echo フロー3.yxmd 終了
echo 正常終了
:end
pause
構成としては以下のような感じになります。
logは適宜logのフォルダ内にlog.txtのテキストファイルを用意してあげると
logをコマンド上に表示させず、echoで指定した文言だけをスッキリ表示させることができます。
batファイルをダブルクリックし、上から順に実行できました!
今回は複数に分かれたフローを順番に一括で実行してくれるものを紹介しました。
本来であれば1つのフローの中に全部集約できれば一回の実行で済むけれど…
なんでもかんでも一つにまとめると何かのエラーの際、大きなフローから原因を探らなくてはならないのでそれも大変ですよね。
というわけで次回はAlteryxのワークフローの理想形を目指せ☆ということで、
フローのリファクタリングの観点をまとめてご紹介できればと思います。
乞うご期待!