Alteryxのワークフローに関する設定
こんにちは、小澤です。
Alteryxでは、ワークフローの設定を変更することが可能です。 そこで今回は、どのような設定が行えるのか見ていきましょう。
ワークフローの設定を表示する
ワークフローの設定はツールを何も選択していない状態で表示されます。 すでにツールが選択されている状態の時は、何もツールを置いていないところをクリックして選択されていない状態にしてください。 左側が以下のように「Workflow - Configuration」となっていれば、ワークフローの設定画面が表示されている状態です。
設定可能な項目
それでは、各タブごとにどのような設定を行えるのか見ていきましょう。
Canvas
まずはこの「Canvas」タブです。 ここでは3つの項目が設定できます。 いずれも表示の仕方に関する設定となります。
Layout Directionでは、Horizontal, Verticalのいずれかを選択できます。 Horizontalだと横方向(左から右)、Verticalだと縦方向(上から下)にワークフローの表示が変更されます。
- Horizontal
- Vertical
Annotationでは、設定された内容をツールの下部(Verticalの場合は横)に表示する方式を選ぶものとなります。
Hideに設定すると、非表示となります。
Showにすると、設定された内容が表示されます。
Show w/Tool Namesにすると設定された内容とツール名が表示されます。
Connection Progressでは、実行時に表示される、データの出力件数とサイズの表示に関する設定が行えます。
Hideすると表示されません。 Showにすると実行後もずっと表示され続けます。 Show Only When Runningにすると、実行中のみ表示され、実行後は非表示となります。
Workflow
続いて、Workflowタブを見てみます。 こちらでは、ワークフローに関する情報が設定できます。
Pathにはファイルの保存先が表示されます。 この項目はここから変更することはできません。
Typeでは、通常のワークフローかAnalytic Appかマクロかの設定を変更できます。 この項目は、インターフェースツールやMacro Input/Outputツールなど利用した際に自動で変更されますがこちらの項目から手動で設定することも可能です。 ただし、Macro Input/Outputツールがあるのに通常のワークフローなどといった設定はできないようになっています。
Constantはワークフロー全体から使えるグローバル変数です。 この変数には3種類のタイプがあります。
- Engine
- ワークフローそのものの定義に関する値
- ファイルパスやAlteryxのバージョンなどの情報が含まれる
- Question
- Questionはインターフェースツールから入力された値が入る変数
- 対応するインターフェースツールの名前を設定でき、その名前を指定して値を取得可能
- User
- ワークフロー作成者が自由に設定できる値
- ユーザ定義の定数はデフォルトで文字列
- 「#」にチェックを入れることで数値として扱うことが可能
これらの変数をFomulaツールやRツールから利用する場合は以下のようになります。
Fomulaツールでは、変数一覧の「Constant」に表示されるほか、直接入力することも出ます。
Rツールからは以下のコードで値を取得できます。
# 「%」変数名をくくる # 変数名は Type(Engine, Question, User)とNameで指定した値を「.」でつなげる const <- "%User.hoge%" print(const)
Runtime
続いてのタブは「Runtime」です。 こちらは、ワークフロー実行時の挙動に関する設定を行えます。
最初の「Dedicated Sort/Join Memory Usage」では、ソートやジョインの際に利用するメモリ量を設定できます。 これらの機能はほかのものに比べて必要なメモリ量が多くなるため、設定が可能になっていますが通常は設定値を変更する必要はありません。
続いてのTemporary filesは一時的なファイルを出力する際の出力先の指定となります。 Rederツールの出力先でTemporary系のものを選んだ際の出力先などに利用されます。
続いての項目は、Coversion Errorとなっています。 こちらは、Conversion Error(変換エラー)とよばれるタイプのエラーが出た際の挙動になります。
変換エラーは例えば文字列型のデータを数値に変換するとき、データの内容が"10"など数値に変換できるものであれば問題ないですが、"beer"のように数値に変換できないものが含まれていた際に出るものです。
例えば、以下のようのなデータがあったとします。
num_field | str_field |
---|---|
1 | hoge |
2 | fuga |
beer | piyo |
これのデータでnum_fieldが文字列の状態だとします。 この後の処理で数値として扱いたいのでSelectツールで型を変換するのですが、1件だけ数値ではないデータが紛れ込んでいます。
その結果、出力に以下のような変換エラーが表示され、データをみるともともとbeerだったデータはNullになります。
このように変換エラーは警告のような感じで出力され、その後の処理は継続されますが、これによって問題となる場合もあるため注意が必要なものとなります。
この設定では、1つのツールから出力される変換エラーの最大値を設定できます。 Limit Conversion Errorにチェックを入れ、Maximun Errors per Locationでその最大値を指定することで、それ以上の変換エラーが出た際には全ては出力せず、最大値まで出力したのちその旨を伝えるメッセージを出力します。
例えば、先ほどのデータで"beer"以外にも数値に変換できないデータがあり、出力最大数を2にしていた場合は以下のような感じになります。
Stop Processing When Limit is Reachedにチェックを入れると、この状況になったときにエラーとしてワークフローの処理を停止させることができます。
Cancel Running Workflow on Errorにチェックを入れるとワークフロー内でエラーが発生した際にその後続のツールだけでなく、全体の処理を停止できます。 ワークフローの処理が分岐してるなどでほかの場所でエラーが発生しても一部は問題なく処理を続けられる場合がありますが、このチェックが入っているとそれらも実行されません。
エラーが発生した際の処理終了までの時間が短くなるので、ワークフローの作成中などでには便利です。 ただし、全体として非常に時間のかかるワークフローを実行しており、正常に終了できたものだけでも結果をみたい場合などは注意が必要です。
Disable All Browse Toolsにチェックを入れると、Browseツールや各ツールの出力の閲覧が利用できなくなります。
Show All Macro Messagesにチェックを入れるとマクロ内での出力が全て表示されるようになります。 マクロを作成しいたり、ワークフロー内でマクロやPredictive系のツールを利用している場合のデバッグなどの際に有効です。
Disable All Tools that Write Outputにチェックを入れると、Renderツールなど結果をファイルやデータベースなどに出力するツールの利用ができなくなります。
Enable Performance Profilingにチェックを入れると以下のように各ツールの実行時間とそれが全体の中で占める割合を表示してくれます。
ただし、この計算を行うためにワークフロー全体のパフォーマンスが低下しますので、ボトルネックの解消などには利用できますが最終的には外しておくことをお勧めします。
Events
続いては、Eventsタブです。 こちらの機能は私も最近知ったのですが、ワークフロー実行前後やエラー時に任意のコマンドを実行したりメールを送信したりすることができる機能となります。 何も設定されていない状態の画面自体は非常にシンプルなものになっています。
「Add」を選択すると、Run CommandかSend Emailを選択できます。
Run Commandの場合、以下のような設定ウインドウが開き、コマンド名やオプションの指定ができます。
Run Event Whenでは実行するトリガーを指定できます。 各項目は
- Before Run : ワークフロー実行前
- After Run : ワークフロー実行終了時
- After Run With Errors : ワークフローがエラーで終了したとき
- After Run Without Errors : ワークフローが正常終了したとき
- Desable : 実行しない
となります。 ログ出力などが必要な場合に利用できるかと思います。
追加すると、一覧に表示され以降は選択した状態で編集や削除が行えます。
Send Mailはコマンドの実行ではなくメールの送信を行うためのものになります。 こちらもRun Commandと同様のトリガーで実行のタイミングを指定できます。
Meta Info
さて、最後の項目は「Meta Info」タブになります。 こちらはこのワークフローに関する情報を入れておくものになります。
こちらではワークフローの説明や作成者の情報などを記述するものになります。 必要に応じてご利用ください。
終わりに
今回は、ワークフローの設定について解説しました。 Canvasのように、個人の好みに依存するようなものもあれば、知っておくとAlteryxで実現できることの幅が広がるようなものまで様々ありました。 ぜひ有効活用してみてください。