Alteryx マクロを使用して入力するファイルにフィルターをかけデータを取り込む

2022.01.31

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

(英文はこちらから)

はじめに:

Alteryx ではデータをフィルタリングする簡単な方法としては、フィルターツールを使用することです。しかし、複数のソースから特定のデータのみを取り込む際にマクロを使用することで非常に役立つ場合があります。この記事では、ソースのファイルにフィルターをかけ複数の大きなファイルから指定したファイルのみが読み込む方法をご紹介します。

はじめに:

使用するすべてのファイルが同じネットワークフォルダに保存されている前提でこの記事を作成しました。年別のデータを持つ以下の四つのファイルを事例にします。

今回の目的は、ユーザーが指定した年を複数のファイルの中から探して特定のデータのみを取得すること。最初はすべてのファイルに接続する為に新しいワークフローで入力ツールを使用してすべてのファイルに接続します。

次は別のワークフローを新たに開き、ワークフロー設定で標準マクロとして登録しマクロ入力ツールを導入します。このツールをクリックし以下に示すように “データを編集” をクリックします。ここで手動でスキーマを作成します。スキーマとなるサンプルデータは以下に示しました。今回の事例では “フィールドマップを表示” の選択肢を外します。

もし “フィールドマップを表示” を選んだ場合はユーザーが実行する際にマクロ入力ツールに存在する全てのフィールドを指定しなければなりません。全てのフィールドを指定しないとエラーが発生し実行が出来なくなります。今回は “フィールドマップを表示” を外しますとユーザーが年だけを指定することになり速やかに実行が出来ます。

次は、ユーザーが入力するためにドロップダウンツールを追加します。ツールの設定では “手動で値を設定” を選んで 1 行に 1 つずつ目的の値を追加します。

次は、四つのツールコンテナを導入してそれぞれコンテナの中にフィルターツールを配置し入力ツールにつなげます。各フィルターがファイル名に含む年を検索します。

次は、ユニオンツールを導入し各フィルターにつなげます。その次はマクロ出力ツールをつなげます。

次のステップに要注意します。ドロップダウンツールと各コンテナをつなぐためにアクションツールを導入します。

アクションツールの設定では “フォーミュラで値を更新” を選んでフォーミュラを入力します。このフォーミュラがファイル名に対象の年を含むかどうかを判断し、そのコンテナを有効にするか無効にするかを決断します。つまり対象外のファイルをスキップします。対象となるファイルの内容をマクロ出力ツールに渡します。

最後にこのマクロにアイコンを指定することが出来ます。メニューバーよりインターフェースデザイナーをクリックしてポップアップボックスに画像を選んでマクロアイコン作成することが出来ます。これでマクロが完成したので保存して閉じます。

最初のワークフローに戻して全てのファイルに接続した入力ツールの内容も一度確認します。ここでマクロを導入し入力ツールにつなげます。マクロをクリックすればドロップダウン質問より年を指定することが出来ます。このワークフローを実行すれば期待する結果が現れます。

最後に:

この記事では、マクロを使用することで多くのファイルの中からユーザーが指定した目的のファイルのみを取り込むことが出来ます。