AlteryxのDetourツールに関する話

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

こんにちは、小澤です。

今回は、Alteryxの中でも「知ってると便利だけど、今まで知らなかった」な人が多そうなDetourツールの使い方に関する話をしたいと思います。

Detourツールとは

Detourツールとは、インターフェースツールの設定によってワークフローの動きを変えたい時に利用可能なツールです。

image186 image187

DetourツールはDetour Endツールとセットで利用します。

このツールを利用することで、設定された値ごとに挙動を変えたいといったワークフローの実現が可能になります。 「detour」という単語は日本語では「迂回」となりますが、迂回経路を作るだけでなく、if文のような挙動をさせることも可能です。

Detourツールの例として、特定の設定項目を選んだ場合は文字列も扱えるがもう1つの別な設定を選択した場合は数値しか扱えないため、文字列のカラムを除去するといったことが可能になります。

Detourツールを使ってみる

簡単なAnalytic Appを作成して動きを確認してみましょう。

スクリーンショット 2017-06-29 12.55.57 2

元の入力データはおなじみのIris Datasetです。

Detourツールの先は2つにわかれています。 上部に伸びるインターフェースツールで指定した値に応じて、上側が実行されるか下側が実行されるかが決まります。 Detourツールは2つの経路のうちどちらか一方のみが実行されることになります。

インターフェースツールではRadio Buttonツールを2つ設置し、そのうち1つをActionツールでDetourツールに接続しています。 2つのラジオボタンはグループ化してあるため、どちらか一方のみを選択する形式にしています。

スクリーンショット 2017-06-29 14.25.59

インターフェースデザイナーは上部メニューの View > Interface Designer を選択することで表示されます。 ワークフロー上で設置したラジオボタンはすでに表示されている状態となっています。 Addから「Group Box」でグループを追加し、右側にある十字キーのようなボタンで2つのラジオボタンがグループ内に入るように位置を調整すればOKです。

Actionツールの設定は以下のようにDetourツールにつないだ際のデフォルトのものをそのまま利用しています。

スクリーンショット 2017-06-29 14.32.13

この設定で、Detourツールの挙動の切り替えが可能です。 どのような仕組みになっているかというと、

  • アクションを設定したほうを選択している時のみ下側の経路を利用
  • それ以外の場合は上側の経路を利用

という動きをするためです。 ツールに接続しいない方のラジオボタンはあくまでも「デフォルトでは上側を通る」という挙動のためのダミーのボタンとなっています。 そのため、今回は2つのラジオボタンを使いましたが、チェックボックスでも同様のことが可能です。

あとは、それぞれの経路での処理をワークフロー上で実装し、合流点をDetour Endツールで結びます。

今回の場合ですと、上下の経路の役割をそれぞれ以下のようにしています。

  • 上側 : Selectツールでsepal_width, sepal_lengthのみを選択
  • 下側 : Selectツールでpetal_width, petal_lengthのみを選択

ラジオボタンのラベルもそれぞれ「sepal」、「petal」としています。

このワークフローをAnalytic Appとして実行すると以下のような画面が表示されます(Group Boxには"column"というラベルをつけています)。

スクリーンショット 2017-06-29 14.49.30

ラジオボタンでどちらかを選択してFinishを押すと、選択した項目によって出力が異なっているのが確認できるかと思います。

  • sepalを選択した場合 スクリーンショット 2017-06-29 14.52.55
  • petalを選択した場合 スクリーンショット 2017-06-29 14.53.21

終わりに

今回は、AlteryxのツールのうちAnalytic AppやMacroで利用可能なDetourツールについて解説しました。

Detourツールは分岐した先でさらにDetourツールを利用することでより複雑な分岐を行うことも可能です。 しかし、あまりにも複雑にしすぎて複数の完全に異なる出力を単一のワークフローで実現できるようにするなどをしてしまうと、何ができるかわかりづらくなってしまうので注意しましょう。