【やってみた】【AlteryxDesigner】AMPを使用し同じExcelファイルの複数シートに書き込む方法

2022.05.17

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

こんにちは。AlteryxやTableauについて絶賛勉強中のMasashiです。

先日、Alteryx の新バージョン 2022.1がリリースされ、新機能も追加されました!
Designer 2022.1 リリースノート
Alteryx 2022.1 が公開されました!新機能をまとめてご紹介

新機能のうち「AMP を既定エンジンとして使用」の機能が公開されましたので、今回はこのAMP Engineを使用し同じExcelファイルの複数シートに書き込む方法をご紹介します。

この記事を書くキッカケ

正直AMP を既定エンジンなるだけだと思っており、特に意識はしていなかったのですが、実は同じExcelファイルの複数シートに書き込むワークフローを実行する際に、AMP を既定エンジンとして使用しているかどうかにより対応方法が変わることが発覚しました。

そのため、調べて対応可能な方法をやってみましたのでご紹介します。

前提

同じExcelファイルの複数シートに書き込む方法について

Alteryxで分析した結果を一つのExcelファイルに集約する際、何もせずに単純にデータ出力ツールで同じExcelファイルに追加書き込みするとエラーが発生します。













このような際は、完了までブロックツールを利用することでエラーを回避できます。









但し、上記方法はAMP Engineを無効化した場合であれば可能となり、AMP Engineを有効化した状況ではうまく動きません。













AMPを既定エンジンとして使用する際に、同じExcelファイルの複数シートに書き込む方法

そもそもAMPとは?

Alteryx マルチスレッド処理 (AMP) は、Alteryx エンジンの新しいアーキテクチャです。名前が示すように、AMP はワークフローを処理するマルチスレッドの概念です。これに対し、元のエンジン アーキテクチャでは、データをレコードごとに連続して処理します。
Alteryx AMP Engine

Alteryx 2020.2で実装された機能となり、マルチスレッドを利用して高速動作させる機能となります。

方法

前置きが長くなってしまいましたが、実際にAMP を既定エンジンとして使用する際に、同じExcelファイルの複数シートに書き込む方法をご紹介します。

結論

完了までブロックツールの位置を変える Alteryxのヘルプによると「完了までブロック」ツールはAMP Engineでは以下のように使うように記載されています。

複数の分岐 (主に入力から出力に大別されるストリーム) を持つワークフローで作業する場合、入力ツール ID の番号が最も小さいワークフローの分岐に 完了までブロック ツールを配置します。これにより、後続のすべての分岐は、前の分岐が完了し、ツールが期待どおりに動作するまで実行を待機します。
Alteryx Engine と AMP の主な違い

上記に従ってやってみると、以下になります。















今回のような分岐(フィルターツールなど)があり「T」と「F」を別シートに入力する場合、分岐(フィルターツールなど)を2つ作成し入力ツール ID の番号が最も小さい部分(フィルターツールの「T」)の後に、「完了までブロックツール」を設定することで対応が可能となります。

まとめ

今回は「AMPを既定エンジンとして使用する際に、同じExcelファイルの複数シートに書き込む方法」ついて解説及びやってみた結果をご紹介しました。

この記事が少しでもお役に立てれば、幸いです。

※参考情報

Alteryx AMP Engine
Alteryx 2020.2 新機能:ワークフローの処理を高速化するAMP(Alteryx Multi-threaded Processing)エンジンが利用可能になりました
Alteryx Engine と AMP の主な違い