【Alteryx Designer】ワークフローの最適化と整理方法まとめ
こんにちは、まつおかです。
Alteryxのワークフローを「実行効率向上」「可読性向上」2つの観点で見直すことで、使い勝手が良く属人化しないものにすることができます。今回はワークフローの最適化と整理についてまとめてみました。
ワークフローの最適化と整理が必要な理由
Alteryxでのワークフロー作成中はいろいろと試行錯誤しながらということもあり、不要なデータをずっと保持したままだったり、不要なツールが残っていたり、配置もバラバラといった状態になりがちですが、一旦処理が確定したタイミングで全体を見直し、データやツールを整理し、コメント等を追加することで可読性の良いワークフローに仕上げることを強くお勧めします。
Alteryxは誰もが簡単にデータの前処理や分析を行えるツールですが、実際に業務で使用するワークフローを構築した際、綺麗に整理されていない状態で共有してしまうと、他のメンバーだけでなく自分自身もどのような処理をしていたのかわからなくなってしまうことがあります。
それにより、処理の理解に時間がかかったり、変更が必要になった場合にどこを改修すれば良いのかわからなかったりという問題が発生し、引き継ぎにも時間がかかってしまった結果、活用されなくなってしまうということにもなりかねません。
また、不要なデータを保持した状態で実行することで無駄に処理時間が長くなってしまうこともありますので、ワークフローの最適化と整理はAlteryxの活用を進める上でとても重要なポイントとなります。
ワークフローの最適化
不要な列や行は早い段階で除外
データの行や列が多くない場合はそれほど気になりませんが、大量のデータを扱う際は特に、なるべく早い段階で不要な行や列を削除することで処理の実行速度の向上に繋がります。また、不要なデータがない分処理途中のデータの確認もしやすくなり、エラー発生時の原因調査時間の短縮にも繋がります。
行を除外する代表的なツールとしてはフィルターツールやサンプリングツール、列を除外する代表的なツールとしてセレクトツールがあります。
データ型の見直し
データの各列に設定されているデータ型により、PCのメモリ使用量が変わってきます。メモリの使用量が多ければ多いほど実行効率は悪くなりますので、全データ列の型を最適なものにするのがベストではありますが、なかなか全部を見直すのは難しいかと思います。
そんなときはオートフィールドツールを使用し自動で可能な限り小さなサイズに変更する方法があります。
この場合、扱うデータを正しく保持できるサイズであるかの確認は必須になりますので、それぞれのデータ型がどの範囲のデータを扱えるのか確認しておくことが必要です。心配な場合はセレクトツールを使い、手動で確実にわかる範囲のデータ型に変更すると良いと思います。
また、ぜひ注意していただきたいと思うものとして、フォーミュラツールで列を追加した場合のデータ型選択があります。
フォーミュラツールで列を追加した場合のデフォルトのデータ型はV_WStringでサイズは1073741823。これはテキストが1073741823文字入れられる箱が用意されていることを意味します。場合によっては入れるものに対して大きすぎる箱が多数用意されてしまうことになりますので、適切なデータ型とサイズを選択するようにしてください。
ワークフローの整理
不要なツールの整理
たくさん並べたフォーミューラツールをひとつにまとめる
Alteryx初心者の方から意外と耳にする「フォーミュラツールに複数の式が書けることを知らなかった」というお声。
何を隠そう私もAlteryx超初心者時代にそう思っていた人なのですが、フォーミュラツールはなんと、ひとつのツール内に複数の式を含めることができます。しかも、フォーミュラツールで新たに追加したフィールドを、同じツール内の計算式で使用することもできます。
例えばこちらのように、フォーミュラツールのいちばん最初に「単価」という項目を作成し[売上/数量]の計算をした上で、2つ目の式で「単価」を使用し税込み価格の計算をするといったことが可能です。
ツール内は上から順に計算が実行されますので、同じツール内ですでに実行されたフィールドの結果を参照することができます。(逆に言うと、下の方で作成したフィールドを上の式で参照することはできません)
式の追加は簡単、左下のプラスボタンをクリックするだけ!不要になった計算式は式エディタの右上にあるゴミ箱ボタンをクリックすれば削除できます。
もちろん、必ず全ての式を一つのツールに含めなければいけないわけではなく、計算の内容によって分けることで処理の内容をわかりやすくするのもありです。大事なのは正確かつ可読性の良いワークフローを作ることですので、処理内容によって分ける/まとめるを選択してください。
日時ツールの代わりにフォーミュラツールや複数フィールドフォーミュラツールを使用
フォーミュラツールに続き、同じツールが連なっているのをよく見かけるのが日時ツールです。
入力となるデータソースがcsv形式の場合はデータ読み込み時に全てのフィールドがV_WString型となってしまうため、その後の処理によって型の変換が必要となります。
日付フィールドもDate型やDateTime型へ変換する必要が出てきますが、この場合、日時ツールを使用すると便利ではあるのですが、日時ツールは一つのフィールドに対してのみ変換が可能なツールですので、対象のフィールドが複数ある場合はその分同じツールを繋げる必要があります。
こういった場合は「DateTimeParse」という関数を使用することでフォーミュラツール内で型を変換することも可能ですので、複数ある変換処理を一つのフォーミュラツールにまとめてしまうことができます。
また、Date型に変換したいフィールドが全て同じ日付フォーマットになっている場合は、複数フィールドフォーミュラツールを使用し一気にDate型に変換することも可能です。
複数フィールドフォーミュラツールについてはこちらをご参照ください。
閲覧ツールは最低限の利用に
不要なツールの整理として意外に見落としが気なのが閲覧ツールです。
ワークフロー作成中、途中のデータがどのような状態になっているのか確認するため閲覧ツールを多用することがあるとは思いますが、確認が不要になった箇所の閲覧ツールはなるべく削除するようにしてください。
理由として、以下があげられます。
- ワークフローの可読性が悪くなる
- パフォーマンスが悪くなる
不要なツールが残っていることでワークフローが煩雑になり可読性が悪くなるというのは想像がつくと思いますが、2つ目のパフォーマンスが悪くなる理由として、閲覧ツールはツール配置時点のデータ全体の状態が確認できるため、(データの量にもよりますが)とても多くのリソースを消費することから、パフォーマンスにも影響が出る可能性があります。
このため、不要な閲覧ツールは削除することをおすすめします。
ちなみに、どうしても残しておきたい閲覧ツールがある場合でも、ワークフロー設定>ランタイム の中にある「すべての閲覧ツールを無効にする」の設定で簡単に無効/有効を切り替えることが可能ですので、状況に応じ切り替えると良いかと思います。
ツールの配置
不要なツールが整理できたら、次はツールの配置を見直すことも重要です。
以下2つは同じワークフローですが、ツールを整列するだけで見やすくなるという例です。
極端な例ではありますが、線やツールがまっすぐ並ぶよう配置し、間延びした箇所がある場合は等間隔に並べることで非常に見やすいワークフローになります。
ツールコンテナやコメントツールの利用で可読性アップ
ツールコンテナ
データの入出力や処理の過程単位でツールをコンテナに入れて整理することで、ワークフローの可読性が更に向上します。
ツールコンテナはドキュメンテーションのツールパレットからドラッグして配置する他、コンテナに含めたいツールをドラッグで選択してから右クリックし「新しいコンテナに追加」メニューをクリックすることでも追加することができます。
コンテナごとに色を変更することも可能ですので、例えばデータ入力は青、出力は緑など、処理内容により決まった色を設定することもオススメです。
また、コンテナはツールをまとめるだけでなくコンテナ内の処理を無効(実行しない)にしたり、折りたたんで小さく表示させることもできますので、一部確認用の処理を残しておいて必要なときにだけ実行させるなどといったこともできるようになります。
コメント
コンテナに入れるほどではないけれど、部分的に処理の説明を入れたい場合などにはコメントツールを使用すると便利です。
コメントツールもコンテナ同様ドキュメンテーションのツールパレットにありますので、ドラッグして配置し、設定画面でテキストを入力します。
しかもこのコメントツール、図形やテキストの配置を変更したりできるのに加え、背景画像を設定することもできますので、いろいろな用途に利用できるスグレモノです!
各ツールや式エディタ内へのコメント記述
各ツールの処理内容や、全体や部分的な処理概要を記述することで、ドキュメントも兼ねたワークフローを作成することが可能になります
ツールの注釈
ツールの設定画面の左側、ラベルのようなアイコンをクリックすると注釈を設定する画面が表示されます。下部の注釈欄に処理内容を入力するとワークフロー上のツールの下に表示されますので、該当のツールでどのような処理をしているのか確認することが可能になります。
注釈内で改行したりすることも可能ですが、折り返し文字数が少ないこともあり見やすさを考慮すると簡潔に記載するのがオススメです。
式エディタ内のコメント
フォーミュラツール、複数行フォーミュラツール、フィルターツールなど、式エディタを使用するツールではスラッシュを2つ記載することでそこから行末までをコメントとして扱うことができ、コメントアウトした部分は文字がグリーンになります。
式についての説明などを記入しておくことで処理の理解が容易になります。
さいごに
以上、ワークフローの最適化と整理方法まとめでした。
難しい知識は不要ですので、普段お使いのワークフローを是非チェックしてみてください。ステキなワークフローができあがると嬉しくなります!