【AlteryxTips】分岐ツールの使い方

Alteryxの分岐ツールと分岐終了ツールの使い方を説明します

Alteryxでもヘルプの説明が最も簡略なツールの一つであるにも関わらず、最も使い所がわかりにくい「分岐ツール」について説明します。条件によって処理が分岐するようなマクロを作る際には必須のツールです。

分岐ツール・分岐終了ツールとは?

分岐ツールの説明ですが、ヘルプでは、

ワークフロー内のプロセスをバイパスする

と書かれています。

つまり処理をスキップできるというわけですが、実際にはワークフロー内に分岐を作ることで処理をスキップします。絵で書くと以下の通りとなります。

分岐ツールイメージ

※赤矢印:データの流れ

ご利用上の注意

分岐ツールの動きを見ると、プログラミング言語のIF文的に使えるのか?と思ってしまうのですが、通常のワークフロー内では静的にしか使えません。「チェックを入れる・入れない」という部分で分岐ツールの動作を決めるのですが、通常のワークフロー内ではそれを動的に制御できません(IF文的に通常のワークフローでやるなら、フィルタツールなどでがんばりましょう)。

通常のワークフロー内で動的に制御できれば初心者でも使えると思いますが、マクロじゃないと動的に制御できない、というのがこのツールを使うにあたり初心者のハードルを大きく上げている要因かと思います。

ワークフロータイプによる使い方

ワークフロータイプ 使い方
通常ワークフロー(yxmd) 手動で処理を変更する必要のあるワークフローで使用します。処理を変えたい時に分岐ツールのチェックのオンオフを都度行います。
分析アプリ(yxwz) 通常ワークフローと近い使い方ですが、ユーザーがメニュー画面内で処理を変更するかどうかを選ぶイメージで利用できます。
通常マクロ(yxmc) マクロをワークフローに配置する際に、チェックのオンオフを行います。つまり、マクロに切り替え可能な複数機能をもたせる、もしくは設定によって機能を変えるような場合に使用します。
バッチマクロ(yxmc) コントロールパラメーターを用い、動的に分岐ツールのチェックのオンオフを行います。

通常ワークフロー(yxmd)

通常ワークフロー内での分岐ツールは、完全手動でワークフローの処理を変える際に利用します。例えば、「週一でやっている処理に対して、月一だけ月の合計を出す必要があるので、月一だけその部分をオンにして実行したい」などです。

この場合は、ワークフロー上で分岐ツールのオンオフを手動で行います。

以下、先程上げた例「週一でやっている処理に対して、月一だけ月の合計を出す必要があるので、月一だけその部分をオンにして実行したい」のサンプルとなります。週一の処理は、分岐ツールにチェックを入れ、月一の処理時は、分岐ツールにチェックを入れていません。

分岐ツール(通常WF)

分析アプリ(yxwz)

分析アプリの場合は、上の通常のワークフローを若干発展させた形となります。ワークフローの作りはほぼ同じですが、インターフェースを接続します。

追加するアイコンは、インターフェースカテゴリの「チェックボックス」ツール、「アクション」ツールで、分岐ツールに接続します。この時、アクションツールの「アクションタイプを選択」は「質問から分岐方向を更新」を選んでください。作成するワークフローの構成は以下のとおりです。

分析アプリ

これにより、分析アプリ実行時の画面にて、チェックボックスが出現するので、週一の処理ではオン、月一の処理ではオフにします。

実際の使い方は、完成した分析アプリ(yxwz)をダブルクリックして開くか、Alteryx Designer上で「分析アプリとして実行」ボタンを押すとメニューが表示されます。

分析アプリの起動画面

ここで「週次処理」にチェックを入れると、処理がバイパスされて月一の合計は出力されません。

分岐処理 週次処理

逆に、「週次処理」にチェックを入れなければ、処理が実行され月一の合計が出力されます。

分析アプリ 月イチ処理

通常マクロ(yxmc)

通常のマクロでは、マクロに設定項目を追加し、設定によって処理を変える、といった場合に分岐ツールを利用します。

例として、「予定」「概算」「実績」という項目がある中で、月末以外は「差分=予定-概算」、月末は「差分=予定-実績」という処理を行うマクロを作ってみましょう。

分岐ツールを利用した通常マクロ

実は、分析アプリとほぼ同じ作りでいけます。

あとは、呼び出す側です。まずは、月末処理にチェックを入れていないパターンです。

通常マクロ呼出し結果1

次に、月末処理にチェックを入れたパターンです。

通常マクロ呼出し結果2

期待通りの動きです。このサンプルは、分析アプリなどとそれほど変わらないような使い方に見えるかもしれませんが、基本はこのような感じで作っていきます。

バッチマクロ(yxmc)

バッチマクロでは、コントロールパラメータにより動的にマクロ内での動作を変えるために分岐ツールを利用可能です。

通常マクロと同じ例で進めたいと思います。まずはバッチマクロの構成になります。

分岐ツールを利用したバッチマクロ

構成はほぼ通常マクロと同じですが、「チェックボックス」ツールの代わりに「コントロールパラメーター」ツールを使います。それ以外「アクション」ツールの設定が若干異なります。

これで、コントロールパラメータにTrue、Falseのデータを流すことでマクロの動きを切り替えることができます。つまり、今まで説明した他の方法と比べると、ワークフローを流れるデータを利用して動的に動きを切り替えることができる、ということになります。

それでは、呼び出し側のワークフローです。

例えば、ワークフローを実行した日を取得して、20日以降であれば月末処理と判断し、コントロールパラメータに「False」を入力するようなワークフローとしています。

バッチマクロ呼出しサンプル

サンプルワークフローダウンロード

今回の記事で使用したマクロ、ワークフロー類をダウンロード可能としています。

Detour_Sample

ファイル名 内容
Detour_Sample_Normal_YXMD.yxmd 通常ワークフローサンプル
Detour_Sample_Normal_YXWZ.yxwz 分析アプリサンプル
Detour_Sample_call_macro.yxmd マクロ呼び出しワークフローサンプル
DetourSample.yxmc 通常マクロサンプル
DetourSample_batch.yxmc バッチマクロサンプル

 

※Alteryx Designer Ver 2019.1.4.57073時点の情報です

Alteryxの導入はぜひKCMEで!

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

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

おすすめの記事