【Alteryx Tips】ZIPファイルに圧縮する(イベント利用)

Alteryxで出力ファイルをZIPファイルにイベント機能を使って圧縮する方法

Alteryxは標準で出力ファイルをZIP形式にまとめる機能がありません。コマンド実行ツールやイベント機能を使って外部ツールで実現することになります。別の記事ではコマンド実行ツールを用いた方法をご紹介しましたが、今回はイベント機能を使ってバッチファイルで行う方法をご紹介します。

おさらい

  • Alteryxで出力ファイルをZIPファイルにまとめて圧縮する場合は、外部ツールを使う
  • 外部ツールは7zipなどを使う方法が有名ですが、Windows標準機能のPowerShellでCompressArchiveコマンドを使う方法がある
  • フォルダ構成は以下のイメージ

ファイル構成

  • 別の記事にて、コマンド実行ツールを使ってワークフロー内部で実行する方法をご紹介しています

前提条件

バッチファイルの内容が、ワークフローを実行するたびに変わる場合は、今回の方法ではなくワークフロー内でコマンド実行ツールで実行したほうが手っ取り早いです(もちろん、ワークフロー内部でバッチファイルを作成し、そのバッチファイルを実行することも可能です)。

 

イベント機能の使い方

※前提として、バッチファイルを使う場合の記事を読んでおいていただけると幸いです。本記事では、ZIPするためのバッチファイルの作成については記載しておりません

 

Designerには、ワークフローの設定の「イベント」タブでコマンドを実行したりメールを送信したりする機能があります。

イベント機能

ここで追加を押すと以下のようにメール送信とコマンド実行が選べるので、今回は「コマンド実行」を選択しましょう。

イベントを追加

コマンド実行の設定画面がでます。

 

コマンド実行

以下のように設定します。

  • 以下の場合にイベントを実行
    • 「実行後」とします。「エラーなしで実行した後」にすると、「警告」などが発生している場合に実行されません。
  • コマンド
    • バッチファイルのファイル名を記載します

 

これにより以下のように登録されます。

設定後

実行すると以下のような形で結果ウィンドウに表示されます。

実行後

 

なお、ここでは、以下のようなバッチファイルを作成しています。作り方は別の記事を参照願います。

powershell compress-archive -Force zip output
del /Q zip\

 

この方法を使う利点

コマンド実行ツールを使い、ワークフロー内部でファイルを圧縮するという方法を取る際、どうしてもファイルを保存する前にZIP圧縮が先に実行されてしまうというケースが発生することがあります(複雑なワークフローになるとこれが発生するケースがあるようです)。

このような場合は、イベント機能を使うことで、ワークフロー内の処理が全て終わってからバッチファイルが実行されるため、確実にワークフローの内部処理が終わってから実行できる方法となります。

 

まとめ

  • ワークフロー実行後に、イベント機能を使い、バッチファイルを実行する方法を紹介しました

 

サンプルワークフロー

SampleWF_イベント機能利用

 

 

※Alteryx Designer バージョン2021.4.1.04899時点の情報です

Alteryxの導入はぜひKCMEで!

セルフサービスデータ分析ツール「Alteryx」は4週間無償トライアルが可能です。

製品に対する操作方法、技術的な質問などは導入前・導入後に関わらずメールにてお答えします。また、Alteryxを用いた環境構築、開発、ヘルプデスク対応、ハンズオン、トレーニング、ワークフロー作成なども承りますので、お気軽にご相談ください。

おすすめの記事