🐕

Tableauの集計粒度

2024/02/04に公開

自分の理解を整理するためにTableauの集計単位の決まり方をまとめます。

集計粒度の決まり方の基本

  • Tableauの集計粒度は基本的にワークシート内の次の項目で設定されたディメンションで決まる
    • マークカード
      • ただし、ツールヒントは例外
    • ページ
  • フィルタは集計範囲には影響するが、集計粒度には関与しない

LOD計算

  • FIXED、INCLUDE、EXCLUDEの3種のLOD計算を使用することで、GUIで設定したディメンションとは異なる粒度での集計が可能になる

FIXED

  • 行列、マークカード、ページに指定されたディメンションは無視して、常に数式内で指定したディメンションで集計する
  • 以下画像では3列目(①)をSUM([Sales])、4列目(②)を{FIXED [Category]:SUM([Sales])}としている
    • 3列目は[Sub-Category]単位で集計されているが、4列目は[Sub-Category]は無視し、常に[Category]単位で集計していることがわかる

INCLUDE

  • 行列、マークカード、ページに指定されたディメンションに数式内で指定したディメンションを加えた粒度で集計する
  • 行列、マークカード、ページに何もディメンションを設定していなければAVG({INCLUDE [Customer ID]:COUNTD([Order ID])})の計算は[Customer ID]単位でOrder IDの重複を除去した個数の全体平均を集計する
  • 行に[Category]を加えることで[Category]と[Customer ID]の組み合わせでグルーピングした単位でOrder IDの重複を除去した個数のカテゴリ毎の平均を返す

EXCLUDE

  • 行列、マークカード、ページに指定されたディメンションから数式内で指定したディメンションを省いた粒度で集計する
  • 以下画像では3列目(③)をSUM([Sales])、4列目(④)を{EXCLUDE [Sub-Category]:SUM([Sales])}としている
    • 3列目は[Sub-Category]単位で集計されているが、4列目は[Sub-Category]は無視し、常に[Category]単位で集計していることがわかる

気を付けておきたいポイント

この手のツールで一番わかりにくい、初学者にとってとっつきにくい点が「数式の挙動が数式の引数だけで決定しない」という点。
GUI上の設定により表示している情報がインタラクティブに変化してしまうので、画面上に表示されている数字がどのように集計されたものか把握することがSQLやPythonのコードを読み解くよりも分かりにくい。
正しく使いこなすにはGUI操作に隠ぺいされている挙動を理解する必要がある。

Discussion