Alteryxツールアイコン「完了までブロックツール」(Block Until Done Tool)をご紹介します
完了までブロックツール(Block Until Done Tool)
[開発者]カテゴリの[完了までブロック]ツールについて紹介します。概要
本ツールへのインプットデータがすべて揃うまで、後続のツールにデータを流さないようにするツールです。
同一のワークフロー内で同じファイルに対して書き込みと読み込みを行うような場合や一つのExcelシートに対して複数シートを書き込むような際に利用できます。
設定項目
ありません。
具体的な使い方
1.保存するすべてのExcelファイルを「完了までブロック」ツールの後続に接続する
例として、同一のExcelファイルに異なるシート名でデータを保存する場合、「完了までブロック」ツールを利用しなければエラーが発生します(処理内容によってはエラーが出ないこともあります)。これは、同じファイルに対して書き込みを行うためです。
※エラー内容としては、「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」と表示されます。
このような場合、以下のように「完了までブロック」ツールを利用すると、エラーなく処理が可能です。
このような使い方の場合、上から順に実行される動きをします。
2.保存するすべてのExcelファイルを「完了までブロック」ツールの後段に接続できない場合
例として、「結合」ツールのJ出力とR出力もしくはL出力の結果を1つのExcelファイルに保存したいような場合を考えてみます。この場合は、1つの「完了までブロック」ツールに接続できないため、そのまま実行するとエラーになります。
このような場合は、それぞれのデータ出力ツールの前段に「完了までブロック」ツールを差し込めばエラーなく1つのExcelファイルに書き込みができます。
このように、1つのExcelファイルに何度も書き込むような際は、保存する手前で「完了までブロック」ツールを入れておけばエラーなく書き込みが可能です。
3.同じファイルへの読み書きが1つのワークフロー内で発生する場合
例として、Excelファイルから読み込んだデータに対して何らかの加工を行い、同じExcelファイルの別シートに書き込みを行うような場合を想定します。
この場合、読み込みが完了する前に書き込みが始まるため、書き込みエラーが発生します。
このような場合は、一旦読み込みを完了させてから書き込みを開始するようにします。
※ワークフロー内の読み込み→保存のどこかに「完了までブロック」ツールを挿入すればエラーなく動作します。
余談
ツールの中には、データがすべてたまってから後続のツールに処理を流す「ブロッキングツール」がいくつか存在します。
「完了までブロック」ツールを使わなくても、そのような正確を持つツールを利用する際は書き込みエラーが発生しません。例として、「完了までブロック」ツールではなく、「集計」ツールを使った例をご紹介します。
サンプルワークフローダウンロード
※Alteryx Designer 2019.3.2.15763時点の情報です