クエリパイプラインとは

今回はtableauを扱い始めてすぐの方だとなかなか苦戦するクエリパイプラインについて紹介します。
これを覚えておくとtableauの処理の順番が理解できるので、自分で更に組み立てながらtableauを扱うことができるはず。

クエリパイプラインとは

クエリパイプラインとは

クエリパイプラインをtableauの公式ヘルプで調べても英語だったり、ややこしくて理解が私は難しかったので簡単に説明します。

クエリパイプラインとはTableau がさまざまなアクションを実行する順序です。 物事に順序があるように、tableauにも順序があるんですね。

例えばビューを構築してフィルターを追加すると、操作の順序で確立された順序で常にフィルターが実行されます。
つまり、適当にフィルターに項目を入れていっても想像通りの動きをしてくれないということです。

そのtableauの順序ってどういう順序なのかというとそれがこちら。

上から順番に処理が行われて行きます。
青色と緑色のところはよく使うの順序も含めて覚えておくといいですね。
この図に従って説明をすると、
例えばディメンションフィルターとメジャーフィルターを両方使っている場合はディメンションフィルターで制限してからメジャーフィルターで制限をするという順番になります。
文字を見てもわかりずらいと思うので実際にtableauを使って説明します。

実践編

今回はサンプルスーパーストアのデータで表計算と表計算フィルターを使って説明をします。
実際に作りたいVizはサブカテゴリごとの合計売上を出しながら、合計売上のランク順位も一緒に表示するというものです。
ダッシュボードで数字を使って表現する際に役に立つと思いこれにしました。
実際の完成形はこちら。

作成方法

ここからは作成方法を記載します。
まずは、行にサブカテゴリ、テキストに合計売上と表計算でランクに指定した合計売上を入れます。

そこからコピー機だけに絞っていきたいのですが、
フィルターにサブカテゴリを入れてコピー機を指定すると表計算ランクの数字が1になってしまいます。

これはなぜかというと、クエリパイプラインが関係していてディメンションフィルターが処理した後に表計算が処理される順番になっているので、
コピー機だけに絞ってから表計算ランクを入れても一つしかないので1になるということです。
ではこれをどうすれば解決するかというと、他にもやり方はあると思いますが、先に表計算をしてからフィルターをかければいいので、クエリパイプラインの表計算の下にある表計算フィルターを使ってみます。

計算フィールドを開いて
「LOOKUP(ATTR([サブカテゴリ]),0 )」
↑この計算式を入れていきます。

そして作成した計算をフィルターに入れてコピー機を選択すると完成形になっているかと思います。
これはクエリパイプライン上で表計算が先に処理されてその後に表計算フィルターが処理されているということですね。

今回は表計算の紹介でしたが他にもディメンションやメジャーのフィルターを使ってクエリパイプラインをマスターしていってください。

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