みなさんのご存知のように、Alteryx Serverのスケジュールは非常に便利な機能ですが、今回は「隔週スケジュールの設定」の方法をご紹介します。
Bi-weeklyの選択がないことについて
例えば、2023年3月18日から、毎週土曜日の朝2時にワークフローを実行する必要がある場合、次のように設定します。
しかし、「毎週から隔週に変更したい」という要件がある場合、どのようにすれば良いでしょうか?残念ながら、Frequencyのドロップダウンメニューには、bi-weeklyという選択肢はありません。
そこで、以下の2つの方法を紹介します。1つ目は、Schedule A Workflow To Run On A Bi-weekly Basis?Alteryxコミュニティのユーザーが提供したアドバイスです。この方法では、カスタマイズのオプションの中で特定の日付を選択して、毎月実行するように設定します。1ヶ月の場合、手動で設定することは簡単ですが、1年以上の場合は管理が煩雑になるかもしれません。次に、自動的に実行できる、管理しやすい2つ目の方法を紹介します。
WFの出力を隔週で実行させないこと
ポイントは、毎週実行するスケジュールで、ワークフローの出力を隔週で実行させないように設計することです。具体的な手順は以下の通りです。
スケジューラー設定
まず、ギャラリーのスケジューラの設定は毎週土曜日に設定します。
次に、ワークフローを改修します。元のサンプルワークフローで、ご覧の通り、2つのテーブルをある紐づけで単純に結合しています。
改修したWFの全体像について
ワークフローを以下のように改修します。
1つ目の改修点は、ギャラリー上で実行する日が隔週土曜日であるかどうかを判断することです。2つ目の改修点は、ギャラリー上で実行する日が隔週土曜日ではない場合、ワークフローの出力を行わないように設定します。以下は、それぞれについて詳しく説明します。
改修①について
改修点の1つ目についてご説明します。
まず、インプットとして、テキスト入力ツールでWFを実行する一番最初の日付と、現在日付ツールでWFを実行する当日の日付を用意します。以下はサンプルです。
次は、フォーミュラ・ツールで「DateTimeDiff」関数を利用して、WFを実行する一番最初の日付とWFを実行する当日との日数の差を得ります。日数の差は14の倍数であれば、隔週ではあります。日数の差は14の倍数ではない場合は、隔週ではないと判断します。
フィールド附加ツールで「日数の差」列と元WFの出力列を結合します。
改修②について
改修点の2つ目についてご説明します。
フィルター・ツールで、「日数の差」が14の倍数である場合だけ出力するようにコントロールします。
動的セレクト・ツールで「日数の差」という列を削除しました。
続いて、空のダミー列を作成します。
作成したダミー列をテーブル名の接続尾として選択します。
フィルターのTrueからレコードがゼロである上(今回は、日数の差が14日の倍数で、隔週木曜日にあたる)、出力ツールでフィールドからファイル名を取得する時、レコードを出力をさせないようにしました。また、値はnullなので、隔週木曜日に実行されたときは、アウトプットファイル名に影響がございません。
以上のWFの設定で、出力は自動的に隔週出力ができます。