AlteryxのRun Commandで任意のプログラムを利用する

こんにちは、小澤です。

Alteryxには様々なツールが用意されていて、さらにGalleryを利用すれば 標準ではできないことでも誰かが公開してくれていたりするので大変便利です。

どうしても自力で何か実装しなければならないときでもR Toolを利用すればR言語でプログラミング可能なので 少々ハードルは高いですがデータ分析に関わることなら、だいたいのことはできると言ってもいいかと思います。

しかし、場合によっては外部のプログラムを利用できると便利な時があります。

Run Command Tool

AlteryxにはRun Command Toolというのがあります。

スクリーンショット 2017-03-29 18.46.51

これは、任意のコマンドを実行することができるツールです。 このツールからプログラムを呼び出してやることで、任意のコードを実行することができます。

基本的な使い方

まずはこのRun Command Toolの基本的な使い方を解説します。 公式のヘルプにもある、curlを使ってweb上のデータを取得する方法を見てみます。 なお、このサンプルで利用しているcurlはインストール済みである前提にします。

以下ではおなじみのiris datasetを利用しています。

スクリーンショット 2017-03-29 19.35.30

スクリーンショット 2017-03-29 19.35.48

Run Commnad Toolでは以下の項目が設定できます

 項目 設定値
Write Source 直前のToolの結果を出力先
Command 実行するコマンド
Command Arguments コマンドに渡す引数
Working Directory 作業ディレクトリ
Read Results 直後のToolに渡す結果のファイル

Run Commnad Toolの基本的な使い方は、

  1. Write Sourceで直前のToolの結果を一時的に保存する先を指定
  2. コマンドの引数にそのファイルを指定
  3. コマンドの結果をファイルに出力
  4. 出力したファイルを次のToolの入力として指定

となります。 ファイルを経由するという点を除けば他のToolと同様、入力と出力のあるToolという扱いになります。

プログラムの実行

さて、ここまでやりかたはだいたい想像がつくかと思いますのが、このRun Commnad Toolを利用して自身で作成したプログラムを実行できます。 例えば、Pythonのプログラムであれば、引数の与え方は自由なので、当然Argparseもつかえますし、CSVを入力としてPandasで処理を行うこともできます。

Alteryxを利用しているのに、プログラムを実装するのはやや反則な気もしますが、 どんなツールでも銀の弾丸にはなりえないという前提で考えると、 AlteryxやRにはないが、他の言語では実装されているアルゴリズムを利用したい場合などがあるかと思います。 Run Commnad Toolを利用することで、そのままAlteryxのWorkflowの一部として組み込んでしまえると便利な場合もあるかと思います。

注意点

Run Command Toolは外部のプログラムを呼び出すToolです。 外部コマンドの中には、不正な動作でPCの挙動をおかしくするものが含まれるかもしれません。 他者の作ったWorkflowの中にRun Command Toolが含まれている場合、その点にご注意ください。

終わりに

今回はRun Command Toolの解説をしました。 Run Command Toolを使うことでAlteryx単体では実現が難しいと思うような機能を実装できるます。

利用シーンとしてはあまり多くないかもしれませんが、覚えておいて損はないToolかと思います。