AlteryxでAnalytic Appを作成する
こんにちは、小澤です。
今回はAlteryxを使ったアプリケーションであるAnalytic Appを作る方法を紹介したいと思います。
Analytic Appとは
atleryxで作成可能なものは実は3種類あります。
- Workflow
- Macro
- Analytic App
WorkflowはAlteryx Designerから開いて実行したりなど、通常よく利用するものになります。 Macroはツールを作るためのもので、再利用可能な処理を定義しておくようなものとなります。
では、Appとはどのようなものかというと、Designerで開いて実行するのではなく、必要なパラメータを指定して単体で起動するようなものになります(※ 実行に際してAlteryx Designerは必要です)。 これは例えば、Workflowの場合毎回Input Dataツールで指定した入力ファイルを実行時にパラメータとして指定することで、WorkflowのファイルをAlteryx Designerで開くことなく実行するようなものだと思ってください。 ワークフローと異なるのは、パラメータを指定して単独での実行となるため、インターフェースツールを利用してどこをパラメータ化するのかの指定が必要になります。
Analytic Appはファイルの拡張子が「.yxwz」となっており、Workflowの「.yxmd」とはことなります。 この拡張子のファイルを開くと以下のようなウインドウが表示されます。
これは簡単なAppで、入力として受け取ったcsvファイルをyxdb(Alteryx独自のデータ形式)に変換するだけのものになります。 そのため、入力ファイルと出力先の指定を行う2つのフォームを設置しています。 実際には、このフォームの内容は指定するパラメータによって異なります。
Analytic Appを作る
では、実際に作ってみましょう。 今回作ってみるのは、先ほどの例のcsvをyxdbに変換するだけのものになります。 処理の内容としては以下のようになります。
Input/Output Dataツールそれぞれの上に見慣れないツールがくっついている以外はWorkflowと変わりありません。 Input Dataツールは入力に適当なcsvファイル、Output Dataツールはyxdbファイルを出力するような設定をしているのみとなります。
File Browseツール
では、上部についているツールを見ていきましょう。
こちらのツールの設定は以下のようになっています。
この設定の一番上の「Enter the text or question to be displayed」には、フォームに表示れる項目名や入力すべき内容を記載します。
続いての「Save As Dialog」にチェックを入れると、アインコンが保存用のものになります。 こちらは付け忘れていても動作に影響はありませんが、ファイルの保存先を選択させるような場合には付けておいた方がわかりやすいでしょう。
続いてのラジオボタン部分では、利用可能なファイルの種類を設定できます。
- 「Standard Database File Formats」を選択すると、Input Dataツールでの入力選択と同様の形式で、ファイルやデータベースなど入力ソースの選択から行えます
- 「Spatial Format Only」を選択すると位置情報を扱うファイルのみが選択可能になります
- 「Generate Field Map for Input Data Tool」を選択すると、Input Dataツールで指定しているファイルと同様の項目を持つ前提となり、指定した入力ファイルでの各項目に対応する値を選択するフォームが追加されます
- Report Formatsでは、htmlやPDF, 画像などのレポーティング出力用ファイルのみが選択可能になります。
- Arbitray File Specificationでは、任意の設定が行えます。
Arbitray File Specificationの記述の仕方は、
<表示名1>|<拡張子1>|<表示名2>|<拡張子2>|...
で並べていきます。 これはファイル選択時の選択可能な項目のリストになり、プルダウンに表示されるのが表示名、ファイルリストに表示されるのが拡張子の部分に該当するファイルのみとなります。
Actionツール
次にこちらの映画の撮影でもしてそうなツールになります。
こちらは、先ほどのFile BrowseのようなインターフェースツールとInput Dataツールなどの具体的な処理を行うツールを結びつけるためのツールになります。 このツールによってツールの"どの部分"をインターフェースツールで指定された値と"置き換える"のかを指定します。
今回の場合、File Browseツールでインターフェース上から指定した値でInput Dataツールの入力ファイルの値置き換えるという処理が発生します。
Actionツールの設定は以下のようになっています。
今回の場合だと、設定したい挙動はInput DataツールにつながるFile Browseツールのデフォルトの挙動でいいのデフォルトの設定をしています。 同じことをするために以下のように明示的にインプットを置き換えると指定しても同じ動きをします。
これらのFile Browseツール、Actionツールの設定はOutputツール側もほぼ同等になります。
動かしてみる
では実際に動かしてみますが、その前にWorkflowの設定を確認してみましょう。
Workflowの設定の「Workflow」タブでTypeがAnalytic Appになっているのがわかるかと思います。 この値は、インターフェースツールやマクロのInput/Outputの有無などで自動的に判断してくれますが、明示的に設定することも可能です。
Appでは、yxwzファイルを起動した際にAlteryx Designerではなく、Appが起動しますが、Designerから実行することも可能です。 デザイナーから実行するには「Run Workflow」アイコンの横にある、「Run As Analytic App」を押します。 Workflowにはこのボタンはありませんでしたが、Appであればこのボタンがあります。
実行すると、最初画像のような画面が出現します。 入出力ファイルを選択して、「Finish」を押すと実行されます。
実行が完了すると、以下のように出力されたもの一覧が表示されます。
ここで「OK」を押すとチェックが入っていた出力の内容が確認できます。
Alteryx ServerでAnalytic Appを実行する
最後に、Alteryx Server上のGalleryに上げたAppを実行してみます。
File > Save asからAlteryx ServerのGalleryを選択します (※ Alteryx Galleryの方を選択する公式のgallery.alteryx.comへアップロードするのでご注意ください)。
アップロードされたAppをGallery上から実行するために「RUN」を押すと、デスクトップ上からと同様に各項目を選択できます。
実行すると以下のように結果が確認できます。
終わりに
今回は、簡単な例でAnalytic Appの作り方を紹介しました。 インターフェースツールには他にも様々なものがありますが、どれもにたよう感じで利用可能です。
また、より複雑なものとして、Fomulaツールの条件を書き換えたり、Rツールから値を読み込ませたりといったことも可能なので、気になる方はぜひやってみてください。