Alteryxのマクロ作成を行おう③(バッチマクロ編)
バッチマクロの特徴
バッチマクロはコントロールパラメーターツールの配置が必須になるマクロです。
コントロールパラメーターツール
大きな特徴はマクロの逆疑問符「¿」に接続された入力されたレコード数だけマクロを繰り返す事が特徴です。
また逆疑問符に接続された入力の値を用い、他のマクロ入力のデータにフィルタリングを実施しながらマクロ処理を行えます。
応用範囲が非常に広く、使いやすいマクロを構成できます。
バッチマクロ使用例
マクロは非常に応用範囲が広いため、使用例を挙げながら説明をしたいと思います。
複数ファイルの読み込み
Alteryxには複数ファイルを読み込む方法がいくつか存在します。入力ツールでファイル名を「*」表記で取り込む方法や、動的入力ツールによる取り込むなどです。あえてマクロで行う必要性はありませんが、マクロ化することで異なるスキーマを持つファイルの取り込みも簡単に行えます。
ここでは複数のCSVファイルを取り込むマクロを制作します。今回は入力ツールのみの簡単なマクロです。
ワンポイントバッチマクロを作成する際に、意図した通りパラメータが変更されない事がありますが、その場合はアクションツールの指定を誤っていることが多いです。アクションツールはどの項目を変更するのかを選択するとグレーアウトされるのですが、AlteryxのVersionによっては、色合いが非常に薄く判別しにくい事があり、編集中に違う項目を選択してる事がありますので、マクロが意図的に動かない場合は優先して確認してみてください。
入力ツールはCSVを入力するようにします。ここで読み込むCSVはダミーデータで問題ありません。コントロールパラメータとして入力された値で入力CSVのフルパスを書き換えるようにします(「File - value」を選択します)。
ここまでの状態でマクロを動かしても、CSVのスキーマが異なると、エラーになります。そこでインターフェイスデザイナーより、出力モードを変更します。
これで読み込まれたスキーマに関係なく読み込みが行えるマクロが完成しました。
では実際にマクロの挙動を確認してみます。入力するCSVを一つのフォルダにまとめ、フォルダ入力ツールでCSVファイルのフルパスを取得し、マクロのコントロールパネルにフルパスを設定すれば、設定完了です。
例えば、フォルダにTest1.csv、Test2.csv、Test3.csvの3つのCSVをフォルダに保存し実行すると次のようになります。
3つのCSVが結合されて、取り込まれています。
このようにバッチマクロはコントロールパラメータに入力された値により、変更された処理をコントロールパラメータのレコード数回繰り返し、その結果を結合し出力するマクロです。処理やパラメータ数を変更することにより様々な事を行うことができます。
※Alteryx Designer 2020.1.2.24185時点の情報です