![見出し画像](https://assets.st-note.com/production/uploads/images/151309797/rectangle_large_type_2_e2a641878381fdd9e9f9efbd270fc8a2.jpeg?width=1200)
WOW挑戦!フィルターの順序を意識すると理想のvizが作れる!~クエリパイプライン理解への一歩~
先日、WOWに挑戦してみました!
こんにちは!DATA Saberに挑戦中のMoneです。
DATA Saberの試練の中にコミュニティポイントの取得があり、その中に「viz作成」があります。
自分でデータを集め、オリジナルのvizを作成したり、Workout Wednesdayなどに挑戦するなど様々なやり方があります。
今回、私はWorkout Wednesday(WOW)に挑戦することにしました。
自分にとって難易度は高く難しかったのですが、学びも多い時間だったので、このブログでまとめていこうと思います!
特に「クエリパイプライン」について、私の失敗と改善法について書いていきます。導入ですので、クエリパイプラインとは何か?という方でも大丈夫です。
挑戦したお題
#WOW2022 | Week 15 | Filter Challenge – Workout Wednesday (workout-wednesday.com)
![](https://assets.st-note.com/img/1724067574771-WMEmOqjMRG.png?width=1200)
学べること
お題のタイトルにもある通り、主にフィルターの順番が学べます!
これまでTableauを触ってきて、フィルターに順番があることやクエリパイプラインを初めて知ったのですが、自分でvizを作ってみてやっと実感できました。
やっぱり実際に手を動かすのが大事・・・(苦労の顔)
クエリパイプラインとは?
まず、今回の重要なテーマであるクエリパイプラインについてです。
クエリパイプラインとは、Tableauを動かすにあたってさまざまなアクションをする動作の順番のことで、今回のようにフィルターを動かす際に意識しておくと想定する操作ができるようになります。
私は今回のお題に取り組む前はなんとなくの理解だったのでかなり試行錯誤しました・・・
![](https://assets.st-note.com/img/1724073128794-c8WTR1X65w.png?width=1200)
参照:Tableauの操作の順序
https://help.tableau.com/current/pro/desktop/ja-jp/order_of_operations.htm
作成したフィルター
クエリパイプラインの実例を出す前に、
まずは、vizを作るにあたって私が作成したフィルターの紹介です。
![](https://assets.st-note.com/img/1724070929323-33jyZLdsEG.png?width=1200)
![](https://assets.st-note.com/img/1724070941293-QYqiLH7j3Z.png?width=1200)
目標
このvizの目標としては、②地域、州のフィルターの項目をクリックすると①の棒グラフとクロス集計表のTOP10が連動して動くことです。
しかしここで問題が起きました。
これらのフィルターを作成し、さぁ動かしてみよう・・・!と②をタップしたところ・・・
![](https://assets.st-note.com/img/1724071287669-SXhzyv67DS.png?width=1200)
![](https://assets.st-note.com/img/1724071315037-g8TxNwkrX5.png?width=1200)
思ってた動き方と違う!!!!!
クロス集計表に注目してほしいのですが、地域・州を選択するとTOP10を表示してくれるはずが一部しか表示されません。なぜだ・・・・・
ディメンションフィルターをコンテキストフィルターに
目標は、①(地域、州フィルター)>②(TOP10フィルター)でしたが、
クエリパイプラインの表を見ると逆になってることが判明しました。
現在は①がディメンションフィルターの状態なので、コンテキストフィルターにする必要があるのです。
![](https://assets.st-note.com/img/1724073149998-95HBRsO5W9.png?width=1200)
ディメンションフィルターとコンテキストフィルターの違い
補足ですが、ここでフィルターの違いを書いておきます!
(こちらの内容を簡単にまとめたものになります)
https://help.tableau.com/curren/pro/desktop/ja-jp/filtering_context.htm
ディメンションフィルターは、Tableauのフィルター内で適用されるフィルターで、特定の地域、期間などで分類したい場合にデータを抽出できます。
データソース内の全ての行にアクセス、処理できます。
一方、コンテキストフィルターは独立したフィルターになっており、ディメンションフィルターよりも先に処理されるのが特徴です。
つまり、コンテキストフィルターを適用すると、ディメンションフィルターはコンテキストフィルターを通過したデータのみを処理するので、新しい視点でデータを抽出でき、分析ができるようになります!
コンテキストフィルターへの変更
それではワークシートに戻り、対象のアクションフィルター(Region,State)を「コンテキストに追加」をするとコンテキストフィルターにすることができました。
変更するとグレーになります。
![](https://assets.st-note.com/img/1724073745291-TVF1BgEvZa.png?width=1200)
すると・・・!!
![](https://assets.st-note.com/img/1724073988540-rjPIvb7Um9.png?width=1200)
![](https://assets.st-note.com/img/1724074017805-VVacpLHLbv.png?width=1200)
地域、州の選択でTOP10が出るようになりました!!!(よかったー!!)
取り組んだ感想
このお題を通して、クエリパイプラインを理解することは自分の理想のvizに一歩近づくのにとても大切だと思いました。活用できるとTableauでの表現の幅を広げられたり、パフォーマンスの向上を図れます。
そして理解するためには実際に自分で手を動かしたほうがわかりやすいです。
クエリパイプラインを意識して、幅広い表現のダッシュボードを作成していきたいです!