[Tableau Tips] ダッシュボードのアクション実行順序(クエリパイプライン)解説


共有したいこと:アクションの実行順序

ある日Xのタイムラインを眺めたいたところ、アクションの実行順番に関する投稿が流れてきた。
今まで気にしたことは無かったが、アクションにも実行順番があるようだ。

私の個人的な主義として、Tableauを理解するには処理順番(Order Of Operation またの名をクエリパイプライン)が非常に重要だと考えている。
2024年9月現在、この情報は英語版のヘルプには記載があるが日本語版には記載がない。せっかくなので情報をまとめておきたい。

結論:実行順序について

先に結論を述べると以下のとおりである。また同じ種類のアクションがあった場合、その実行順序はアクション名のアルファベット順になる。

①パラメータの変更
②セット値の変更
③フィルター
④シートに移動
⑤ハイライト
⑥URLに移動

敢えて覚え方をこじつけるならば、セットとフィルタについては通常のクエリパイプラインと同じであり、パラメータ変更を行レベルの計算(クエリパイプラインで相当上位)に必要な要素と捉えれば一番早いのも納得である。
ここまでで計算が終わり、移動とハイライトは移動後に移動先のシートもハイライト処理が出来るみたいなイメージだろうか。URLは別画面なので最後というイメージだ。

ちなみにTableau公式サイトはこちらから。
英語版の場合、上に書いたような実行順序が明記されている。

一方日本語は概要のみの紹介となっている。
英語と日本語でこんな格差があるとは知らなかった・・

動作検証をしてみる

ここで情報共有としては終わりだが、2つほど検証事例を共有したい。

①パラメータ変更とURL移動を同時に設定した場合
元ポストの投稿者は①パラメータ変更と④シート移動を同時によく使っていたようである。例えばカテゴリを選択したら別シートでそのカテゴリ別の売り上げを表示するシートに遷移させたとしよう。
処理順序は①パラメータの変更→④シートに移動なので、ダッシュボードアクションで変わったパラメータの結果が引き継がれている。

まずカテゴリを元にパラメータを作り、初期値で家具を設定する
アクションでパラメータ変更とシートの移動を設定し、事務用品をクリックする
遷移先のダッシュボードでは計算でパラメータで指定した売上のみ表示する
パラメータが事務用品に代わっており、表示される売上も事務用品のみ

②同じ種類のアクションをアルファベット以外で実装した場合
ヘルプにはアルファベット順と書いてあるが、仮に数字や日本語で実装した場合にはどうなるか? これはやや推定が入るが、文字順(=A→Zでソートした結果順)で実行されると思われる。
例えばカテゴリでセットを作り、セット値の変更で「1セットに値を追加」「2セットから値を削除」と矛盾した命令を2つ書いてみよう。この場合、1→2の順で実行されるので、選択したカテゴリは常に削除される

この状態で家電をクリックすると、セットから外れてグレーになる

次は日本語パターンを試してみよう。アクション名を「マジでセットから値を削除」と「すごくセットに値を追加」という名前にする。この場合、文字列順でソートすると、「マジでセットから値を削除」が先にくるので、削除→追加処理がされて、選択したカテゴリは常に値は追加される。

この状態で家電をクリックするとセットに追加されて青色になる
内部の文字コード順の問題であり、作者が込めた気持ちの問題ではない笑

余談:執筆裏話

他にも検証事例を乗せたかったが、良い例が思いつかなかったのでここまでとする。もし「実務でこういうシーンだとアクションの実行順序を考える必要がある!」とか「こういうアクションを作ると実行順序の挙動を立証できる」というアイディアがあれば教えてほしい。

ちなみに私のクエリパイプライン記事はこちらである。私の記事の中で一番閲覧されている良作記事なので、ぜひ読んでほしい。

また本記事もルノアールTableauユーザ会のもくもく会で執筆した。結局もくもく会の最中はあまり良い構成案が思い浮かばずおしゃべりばかりしていたのは内緒である・・。本記事は某所のベローチェで何とか形にした。

もし記載誤り等があればX(Twitter)で連絡いただけると助かります。
ご意見・ご感想もお待ちしています。どうぞお手柔らかに・・
ついったー→ https://twitter.com/minoru_tech  


この記事が気に入ったらサポートをしてみませんか?