AlteryxのDynamic系ツール

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

こんにちは、小澤です。

Alteryxには名前がDynamicで始まる以下のようなツールがあります。

  • Dynamic Select
  • Dynamic Replace
  • Dynamic Rename
  • Dynamic Input

今回はこれらのツールのうち、上2つのDynamic Selectツール, Dynamic Replaceツールがどのようなもので、何ができるのかみていきます。

DynamicとDynamicじゃないツールの違い

SelectやInputは、DynamicのつかないSelectツールやData Inputツールといったものもあります。 これらとの違いはなんなのでしょうか?

通常、他のツールであれば入力ファイルであったり、直前のツールから流れてきたデータだったりを利用します。 この時、入力データが決まればワークフロー全体での動作は決定するため、例えばSelectツールであれば入力して受け取るデータのうちどの列を削除したり型を変えたりするかをワークフロー上で決定することができます。

しかし、Macroや入力にインターフェースツールを利用したAnalytic Appでは、どのような入力が与えられるかは実行時に決まります。 このような場合、実行されるまでデータの列数や型などがわかりません。 こういった、ワークフロー作成時には未知の情報を実行時に与えてやるためのツールがこのDynamic系となります。

Dynamic Select

Dynamic Selectツールは特定の条件を満たす列のみに絞り込むためのツールになります。

image191

ツールの設定は以下のようになっています。

スクリーンショット 2017-06-27 15.04.53

後続の処理で利用可能な変数の型が限定される場合に、こちらで指定することで特定の型の列のみに絞ることができます。 上記の設定では数値のみに絞り込んでいます。

また、上部のプルダウンを「Select via a Fomula」に変更することでFomulaツールのように条件式を記述しての列指定も可能です。

スクリーンショット 2017-06-27 15.15.35

こちらは、条件を満たす列のみに絞り込みます。 例えば、 [FieldNumber] <= 2 とすれば、1列目と2列目のみを抽出するといった感じです。 列名(Name)や列の位置(FieldNumber)といった値を利用することができます。

インターフェースツールで指定した目的変数や説明変数のみを取り出すといった使い方に利用できます。

Dynamic Replace

続いては、動的に値を変更するDynamic Replaceツールとなります。

image190

こちらのツールの設定は以下のようになっています。

スクリーンショット 2017-06-27 15.28.15

こちらは、2つの入力があります。

「D」側の入力は、置換対象となる実際のデータです。

「R」側の入力で置換の処理内容を記述します。 記述すべき内容は

  • 対象となるD側の列名
  • 条件式
  • 出力するもの

となります。 説明だけではやや、わかりづらいツールなので例をあげて説明します。

対象となるデータ(D側の入力)が以下のようなものであったとします。

cat dog
yes yes
no yes
yes no
no no

これに対して、R側の条件式を表すデータを以下のように用意します。

name ex target
cat CurrentField == "yes" love cat
dog CurrentField == "yes" love dog
dog CurrentField == "no" :-(

これで、元データのnameに該当する列の値がexで指定した式を満たした時にtargetで指定した値で置換されます。

Dynamic Reploaceツールの「Field Name Field」、「Boolean Expression Field」、「Output Value Field」にそれぞれを指定します。

スクリーンショット 2017-06-27 15.47.54

実行すると、出力は以下のようになります。

cat dog
love cat love dog
[Null] love dog
love cat :-(
[Null] :-(

結果としては

  • catの値が"yes"の条件を満たしている場合"love cat"に置換されている
  • dogの値が"yes"の条件を満たしている場合"love dog"に置換されている
  • dogの値が"no"の条件を満たしている場合":-("に置換されている
  • catの値が"no"の時の条件は指定されていないのでnullに置換されている

となります。

また、出力は上記の内容の他に各値に置換した数も出力されます。

Dynamic Replaceツールではその他にもValues are Expression/Fomulaで出力も変数や式にしたり、出力の型を指定したりもできます。

先ほどのDynamic Selectツールと組み合わせて、boolean型のカラムを抽出したのち、Dynamic Replaceで0/1に変換するなどといった使い方が考えられるかともいます。

終わりに

今回はDynamic系のツールのうち、Dynamic SelectツールとDynamic Replaceツールの紹介をしました。 Dynamicと名の付くツールは他にもありますが、なんとなくどんな使い方をするツールなのかのイメージを掴んでいただけたかと思います。