![Alteryxをコマンドから実行する際のパラメータ設定について](https://devio2023-media.developers.io/wp-content/uploads/2014/10/alteryx.png)
Alteryxをコマンドから実行する際のパラメータ設定について
こんにちは、小澤です。
AlteryxではAutomation Add-onを導入していれば、コマンドからワークフローの実行が行えます。
今回は、この機能を利用してAnalytic Appを実行する際にパラメータを指定する方法を紹介したいと思います。
Analytic Appのパラメータ
Analytic Appを実行すると、ウィザードが立ち上がり入出力ファイルなど動作内容に関するパラメータの設定を行えます。
ここでどんなパラメータを設定できるようにするかは、インターフェースツールを使って指定します。 インターフェースツールの利用に関しては、Analytic Appやマクロを紹介した下記の記事をご覧ください。
AlteryxEngineCmdからパラメータの指定
さて、これらパラメータはインターフェースツールを経由することで、ウィザードから実行時に変更可能となるわけですが、 これをコマンドから実行したい場合にはどうするのでしょうか?
Help内のRun Workflows by Command Lineの項目では、
- 設定項目を記載したXMLファイルを用意
- コマンドライン引数としてXMLファイルのパスを渡す
の流れとなっています。
設定の方法は、
<WizardValues ShowDebugMessages="False"> <Value name="FILEINPUT">TEST.CSV</Value> </WizardValues>
のように設定値のみを渡して、
AlteryxEngineCmd.exe MyAnalyticApp.yxwz AppValues.xml
コマンド実行時にワークフローと設定値を記載したXMLファイルを渡す形式になります。
また、以下のように設定ファイルに実行するワークフローを記載して設定ファイルのみを渡してもいいようです。
<WizardValues ShowDebugMessages="False"> <Module>MyAnalyticApp.yxwz</Module> <Value name="FILEINPUT">TEST.CSV</Value> </WizardValues>
AlteryxEngineCmd.exe AppValues.xml
Valueで指定している、name属性の値は各インターフェースツールのどれの値を指定しているのかを表すものになっており、ワークフローから指定可能です。 指定の方法は、ワークフロー上でインターフェースツールの設定から行えます。
今回は、このツールname属性としてinput1を指定しているので、
<WizardValues ShowDebugMessages="False"> <Module>MyAnalyticApp.yxwz</Module> <Value name="input1">TEST.CSV</Value> </WizardValues>
のようにXMLファイルのnameをinput1として、設定する値を選択します。
以下のようにたくさんインターフェースツールを置いている場合は、Valueを複数個選択します。
<WizardValues> <Value name="input1">iris.csv</Value> <Value name="test_box">hoge=True,fuga=False,piyo=True</Value> <Value name="test_button1">True</Value> <Value name="test_button2">False</Value> </WizardValues>
パラメータの抽出
さて、このようにパラメータが設定可能なのですが、項目が多くなってくるとXMLファイルを作成するのにも時間がかかります。 また、ツールによってどのようなパラメータの指定の仕方が適切なのかわからない場合もあるかと思います。
そこで、Analytic Appのウィザードから現在指定しているパラメータのXMLファイルを作成することができます。
これで上記と同じXMLファイルが保存できるので、それをテンプレートとして必要な部分を書き換えることで、任意の設定を行った設定ファイルを作成することができます。
おわりに
今回は、Analytic Appをコマンドから実行する際にパラメータを指定する方法を紹介しました。
実行するに際しては、Automation Add-onが必要です。 また、パラメータを動的に変更する必要がある場面では、それを行うためのプログラムによる操作なども必要になります。 しかし、これによってかなり効率的かつ柔軟なワークフロー実行が行えるようになるシーンも多かと思います。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。