Alteryxをコマンドから実行する際のパラメータ設定について

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、小澤です。

AlteryxではAutomation Add-onを導入していれば、コマンドからワークフローの実行が行えます。

今回は、この機能を利用してAnalytic Appを実行する際にパラメータを指定する方法を紹介したいと思います。

Analytic Appのパラメータ

Analytic Appを実行すると、ウィザードが立ち上がり入出力ファイルなど動作内容に関するパラメータの設定を行えます。

ここでどんなパラメータを設定できるようにするかは、インターフェースツールを使って指定します。 インターフェースツールの利用に関しては、Analytic Appやマクロを紹介した下記の記事をご覧ください。

AlteryxEngineCmdからパラメータの指定

さて、これらパラメータはインターフェースツールを経由することで、ウィザードから実行時に変更可能となるわけですが、 これをコマンドから実行したい場合にはどうするのでしょうか?

Help内のRun Workflows by Command Lineの項目では、

  1. 設定項目を記載したXMLファイルを用意
  2. コマンドライン引数として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日間の無料トライアルも実施中ですので、お気軽にご相談ください。

alteryx_960x400