見出し画像

Tableau必須知識!クエリパイプラインは知らないと大変なことに・・・

はじめに

 Tableau使用者にとって必須知識の1つが、Tableauの動きを表す「クエリパイプライン」です。
 簡単にいうと、「Tableauは、司令に対して固定の優先順位順に動くよ〜」という意味で、つまりは、これを意識せずに進めちゃうと、本当に欲しい数字がでてくれない等の大問題に繋がっていっちゃうよ、というお話になります。
 今回は、そんなクエリパイプラインの概要と、「実際どんな問題が起こりうるのか」その実例をご紹介します。


クエリパイプラインとは

 Tableauのクエリパイプラインとは、Tableauでデータを分析する際に裏で動いている一連のステップのことを指します。
Tableauにはフィルターや、計算式、リファレンスラインなど、様々な機能があり、それらの機能(処理)には固定の優先順位が定められていて、その優先度が高いものから順に処理が行われています。そして、この優先順位の流れを「クエリパイプライン」と呼ぶわけです。
 ちょうど水道のパイプが水を目的地まで運ぶように、クエリパイプラインはデータベースからの情報をTableauユーザーのスクリーン上のビジュアライゼーション(視覚的な表現)まで運ぶ、そんなイメージでしょうか。。。。
(このプロセスには、データのリクエスト(問い合わせ)、加工、最終的なビジュアルの生成などが含まれます)

画像引用:https://st-brain.com/media/tableau_filtering_context/,2023/12/18

クエリパイプラインを意識しないと、起こってしまう問題とは

1.分析が遅れてしまう(効率がよくない)

 Tableauについて学ぶと、「データ量を減らす」ことの重要性を口酸っぱく言われる(もちろん実感する)と思うのですが、この際にもクエリパイプラインが関係してきます。

データ量を減らす≠「ただデータにフィルタをかければ良い」
 データ量を減らしたい場合は、むやみにフィルタをかけるのではなく、「適切な段階でフィルタをかける事が必要」です。
 例えば、本来は抽出フィルターの段階で大幅にデータ量を減らせているはずなのに、クエリパイプラインにおいて優先度が低い方法でフィルターを行なっている場合、「分析の工程で走るクエリの対象行が、適切にフィルタリングをかけた場合よりは多い行数になってしまう」=「重い」という事が発生してしまうんです。

 つまり、クエリパイプラインを意識しないと、「分析が遅れてしまう」という事になり、言い換えれば、「クエリパイプラインがどのように機能するかを理解していないと、なぜ分析が遅れているのかも分からない」ということになります。

2.不正確なデータの解釈

 クエリパイプラインの流れを理解していないと、データがどのように処理され、分析されているのかを間違って解釈する可能性があります。
 例えば、特定のフィルターがどの段階で適用されているのかを知らないと、結果のデータが「本当にみたい数字よりも少ない」ものになっているかもしれません。
 具体的に、クエリパイプラインを意識せず1つ分析をしてみましょう。

見たい数字:カテゴリ「家具」において、売上が60万円以上の顧客を知りたい。

①メジャーフィルターを使用した場合
フィルタ内容> カテゴリ:家具、売上:最小値=60万円

②コンテキストフィルターを使用した場合
フィルタ内容> カテゴリ:家具、顧客名:売上60万円以上

①と②、どちらも売上の最小額でフィルターをかけているのには変わりないですが、使用するフィルターによって、得られる結果が違いますね。
では、どちらが「見たい数字」なのでしょうか。
 こういった判断にも、クエリパイプラインの知識が必要です。

◾️①と②では、どんなデータ処理がされているのか
見たい数字:カテゴリ「家具」において、売上が60万円以上の顧客を知りたい。
①メジャーフィルターを使用した場合
【フィルターがかかる順番】
 (1)カテゴリ=家具のデータのみにフィルタリングされる
  →ディメンションフィルター
 (2)(1)でフィルタリングされたデータのうち、売上が60万円以上の顧客のみフィルタリングされる
 →メジャーフィルター

つまり、カテゴリ「家具」において、売上60万円以上の顧客とその売上額が表示されている。※見たかった数字はこちら

②コンテキストフィルターを使用した場合
【フィルターがかかる順番】
 (1)売上の合計が60万円以上の顧客のみフィルタリングされる
 →コンテキストフィルター
 (2)売上の合計が60万円以上の顧客に対し、カテゴリ=家具のみの売上にフィルタリングされる
 →ディメンションフィルター

 つまり、カテゴリ問わず、全体の売上が60万円以上の顧客について、彼らの顧客名とカテゴリ「家具」の売上額が表示されている。
 ※見たかった数字ではない

 いかがでしょうか。
 クエリパイプラインを意識しないことにより、本当に見たい数字とは異なる数字が表示されている、という事が安易に発生し得てしまうのです。

まとめ

 今回は、Tableau学習者の必須知識である「クエリパイプライン」について、その概要と実例を紹介させていただきました。
 クエリパイプラインはTabeau学習者にとってつまづきやすいポイントであると同時に、習得すればその後の応用の幅が大きく広がるポイントでもあります。
 本ブログが、Tableau学習者の皆さんのヒントになれば光栄です。

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