Alteryxのちょっと使える小技3選をご紹介
日頃Alteryxでワークフローを作っているときに、ちょっと工夫すればできそうなんだけど。。。となっていることはありませんか?
今回はそんなちょっとの工夫についてご紹介したいと思います。
処理順番を任意に操る
まず、一つ目ですが、Alteryxでは処理の順番を把握するのは中々に至難です。ですが、作成するワークフローによっては処理の順番を任意で決めたい場合があります。通常は「完了までブロック」ツールを使うことで行いますが、より詳細に行いたい場合に筆者が行う方法を紹介したいと思います。
ここで使うのは「レコードカウント」ツールです。これは、レコード数をカウントするという非常にシンプルなツールですが、このツールにつながってる前の処理が終わらないとレコード数をカウントすることができません。この特性を使います。下記の様に処理の後にレコードカウントを繋げ、その次に処理したいツールの前にフィールド付加ツールでカウントしたレコード数を付加して次の処理に渡します。
このように配置することで、処理2は必ず処理1が終わらないと実行されなくなるため、この組み方を随所に複数組み入れることで処理順番を考慮に入れたワークフローを作成することができます。
ユニオンツールを使ったセレクト
通常、データから必要な項目のみを選択する場合、「セレクト」ツールを使用します。
しかしセレクトツールでは動的に選択することが難しいです。「動的セレクト」ツールを使う方法もありますが、意外と使用用途は限定的になります。そのような場合にユニオンツールを用いる事で動的に選択することが可能になります。
基本構造はこのように組みます。①からはカラムとなる項目データをレコード選択ツールで「範囲を0」で項目データのみにして、②のデータを③のユニオンツールを使い「フィールドの共通サブセットを出力」することで項目を選択します。さらに④で「すべてのフィールドを出力」することで、データに選択する項目が無い場合でも、①の項目のデータは全て選択することができます。
この方法は一見すると厄介なだけで、あまり有用に見えないかもしれませんが、①のデータを例えばCSVにすることで、ワークフローを変更する事なく、処理を行った後のデータを任意の項目で出力したいなどを行う事が可能となり、汎用性の高いワークフローを作ることができます。
クロスタブツールでの特殊文字対応
クロスタブツールを使う時に、項目にする値に特殊文字が含まれる場合には、「_」に変換されてしまいます。
これは実は簡単に回避することが可能です。
このようにレコードツールでRecordIDを振りRecordIDを列ヘッダーに設定し、動的リネームツールで「右入力の行からフィールド名を取得」を使い項目名を置き換えます。
こうすることで特殊文字を含むデータでも「_」へ変換されることなく取り扱えます。
いかがでしたでしょうか?
何となくすぐに使えそうな小技もあったのではないでしょうか?
より理想に近い処理が行えるワークフローを作成する一助になれば幸いです。
以上、ちょっと使える小技3選でした。