Tableauのクエリパイプライン(計算順序)を簡単にまとめてみた

DataSaber挑戦中のキノシロです。今回はTableauで計算式を作成したりフィルターをかける際に必要なクエリパイプラインの考え方をまとめていきます。自分用の備忘録ですが、理解に役立てば幸いです。

クエリパイプラインの概要

クエリパイプラインとはTableauの操作の順序と思っていただければ問題ないです。この順番でTableau がさまざまなアクションを実行していきます。この順番を理解していないと自分の意図していない形でビューが作成されることになるので常に意識しておく必要があります。

Tableauからの図:https://help.tableau.com/current/pro/desktop/ja-jp/order_of_operations.htm

これを日本語に書き直すとこのような図になります。

これだけ見てもちょっとわからないかと思うので、具体例を提示していきます。

まず、非集計のフィルタです。

Extract Filters:抽出フィルタ

この抽出フィルターは、元データから抽出ファイルを作る段階で、利用しないデータを取り除き、必要なデータだけを含む抽出ファイルを作る方法です。

できること

  • 抽出ファイルを軽くする
  • データ量を減らすのでスピードが上がる

ちなみにこの抽出フィルターは、元データにライブ接続をしている時は関係がないです。

下記画像の右上に「ライブ・抽出」というラジオボタンが記載されているので「抽出」したときのデータのことになります(データ連携しているものでスクショ取れなかったので)。

編集し直したい場合には「編集」を行ってください。

Data Source Filters:データソースフィルタ

このフィルターは先ほどの抽出フィルターから更に必要なデータのみに絞り込む際に使用します。例として抽出フィルターには10年分の売上データが入っているが直近3年間しか使用しないのでデータソースフィルターをかける、みたいなものです。

ライブ接続している際にはこのフィルタが最初のフィルタとなります。また、ここまでのフィルタはワークブックすべてに適用されますがこの後のフィルタについては適宜設定していくものになります。

Context Filters:コンテキストフィルタ

コンテキストフィルタはその下のコンディションフィルタやTop Nフィルターと組み合わせて使用します。ディメンションフィルタをコンディションフィルタよりも前にかけたい時に使用するのが一般的です。

Sets,conditional filters,top N,fixed LOD:セットや上位フィルタ、条件フィルタ

このフィルタはTop Nフィルターとも呼ばれ表やグラフを作成する際に、適用データを限定して処理するフィルターです。コンディショナルはセットなどを作成するときと似ているがちょっと違い、条件に合わないデータはデータごと除外してしまう考え方になります。

別途セットについては記事を作成しているのでご確認ください。

Tableauのグループとセットの違いと使い方

Dimension Filters:ディメンションフィルタ

こちらはそのままディメンションを使用したフィルタです。

Measure Filters:メジャーフィルター

メジャーフィルターはメジャーを合計や平均など集計した結果を示したフィルターです。

 LOD,data blending:Include/Exclude計算、集計、ブレンディング

こちらはディメンションフィルタとメジャーフィルタの間に存在します。Include/Exclude LODはまた別途説明しますが、この計算式を使用することでディメンションフィルタ・メジャーフィルタの計算順番を変更させます。

データブレンディングはほかのテーブルとテーブルを結合する際に使用します。

forecasts table calcs clusters totals:予測・表計算・クラスター・総計

メジャーフィルタの下に使用します。予測・表計算・クラスター・総計した後にフィルタをかけます。

Table Calc Filters:表計算フィルタ

表計算後のフィルタになります。

Trend lines,reference lines:リファレンスラインや傾向線

グラフの最後に引くリファレンスラインや傾向線になります。

より細かいクエリパイプライン

上記よりももっと細かいクエリパイプラインがまとめられた資料があったのでこちらも共有しておきます。もしかしたらこちらの方がわかりやすいかも?

海外で作成されたTableauクエリパイプライン

日本語バージョンをみのるさんが作成されていたので引用させていただきます。

みのるさんNoteから引用させていただきました

まとめ

ざっくりとクエリパイプラインについて理解するためにまとめてみましたが、まだまだ理解が及んでいないので今後もまとめていこうかと思います。