AlteryxのDynamic系ツール
こんにちは、小澤です。
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ツールは特定の条件を満たす列のみに絞り込むためのツールになります。
ツールの設定は以下のようになっています。
後続の処理で利用可能な変数の型が限定される場合に、こちらで指定することで特定の型の列のみに絞ることができます。 上記の設定では数値のみに絞り込んでいます。
また、上部のプルダウンを「Select via a Fomula」に変更することでFomulaツールのように条件式を記述しての列指定も可能です。
こちらは、条件を満たす列のみに絞り込みます。 例えば、 [FieldNumber] <= 2 とすれば、1列目と2列目のみを抽出するといった感じです。 列名(Name)や列の位置(FieldNumber)といった値を利用することができます。
インターフェースツールで指定した目的変数や説明変数のみを取り出すといった使い方に利用できます。
Dynamic Replace
続いては、動的に値を変更するDynamic Replaceツールとなります。
こちらのツールの設定は以下のようになっています。
こちらは、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」にそれぞれを指定します。
実行すると、出力は以下のようになります。
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と名の付くツールは他にもありますが、なんとなくどんな使い方をするツールなのかのイメージを掴んでいただけたかと思います。