【Alteryx Tips】「フォーミュラで生XMLを更新」を用いたマクロの応用

以前の記事でフォーミュラで生XMLを更新を用いたマクロを紹介いたしましたが、今回は生XMLを更新を応用したマクロを作成してみたいと思います。

目的

今回のマクロですが、例えば以下の様に処理されたデータがあるとします。

このデータを各地域ごとにファイルに出力します。ここまでは出力ツールのみでも可能です。ですが、地域ごとに出力したいカラムが異なる場合はどういたしましょう。

単純に処理を考えるとするなら以下の様になるのではないでしょうか。

この処理を地域毎に作成したらやりたいことは行えます。

これをマクロ化を行い外部の設定ファイルに従って出力できるように考えます。

設定ファイルの作成

まず、必要な設定を考えます。今回は単純なマクロですので複雑ではありません。

出力する地域、カラム名の記載があれば必要要件を満たします。CSVで以下の内容を記載したファイルを用意し、それを設定として用いる事にします。

処理内容を考える

マクロの作成に移ります。まず、必要な処理は以下3つになります。

①地域でのフィルタリング

②必要カラムのセレクト

③ファイルの出力

では順々に処理を考えていきましょう。

地域でのフィルタリング、これはバッチマクロを用いて、データをグループ化したら問題なく行えます。

必要カラムのセレクト、これは全ての地域のカラム数が同じであればバッチマクロでも可能です。ですがカラム数が異なる場合はXMLを用いるマクロを作成します。

ファイル出力はファイル名と出力先を決めて出力したら問題さそうです。

マクロを作成する

次にマクロを作成します。構成については単純です。フォーミュラで生XMLを更新を用いてセレクトを更新するようにします。

ワークフローにマクロを組み込む

次にワークフロー部分を設計します。ここで大切なのは前述で作成した設定ファイルを読み込みXMLをどの様に生成するかです。

まずセレクトのXMLはどの様になってるかを確認します。

セレクトをXMLビューで確認するとこの様な構成になってます。このSelectFiledの部分を生成すれば、マクロを更新する事が分かります。

それを踏まえて設定ファイルからXMLを生成するよにワークフローを組みます。

ワークフローを作成したらマクロを最後につなげることで完成です。詳しくは添付のワークフローとマクロを確認してください。

作成したワークフローを実行すると以下の様に出力結果が設定したカラムのみで生成されます。

この様に外部設定とXMLを用いる事で柔軟かつ応用の効くマクロを組むことができます。
例えば、地域を増やしたい、出力項目を変更したいなどがあった場合、通常はフィルターツールを追加したり、セレクトツールの内容を変更したりなどの作業が発生しますが、このマクロでは外部設定のCSVに追加や修正を行うだけで実行できます。汎用性の高いワークフローを作るときは是非XMLを用いるマクロに挑戦してみてください。

 

添付

XMLで更新するマクロ

 

おすすめの記事