データの探索と分析(DA)

ビュー粒度の問題を解く — 「なぜ数が増えるのか」を論理的に説明する

導入

ビューにディメンションを追加した瞬間、レコード数が想定より何倍にも増えてしまった――そんな経験はないでしょうか。この「数の爆発」はビュー粒度を理解することで論理的に説明できるようになります。

くわしく知ろう

ビュー粒度とは、Tableauのビュー上で1行(1マーク)が何を表すかを指します。たとえば「カテゴリ」だけをビューに置けば1行はカテゴリ1つに相当しますが、そこに「サブカテゴリ」を追加すると、1行は「カテゴリ × サブカテゴリ」の組み合わせに変わります。このようにディメンションが増えるほど粒度は細かくなり、行数が増えていきます。

いわゆる「数の爆発」は、想定より細かい粒度になってしまうことで起きます。特に多対多のリレーションシップやユニオンを使っているとき、複数のディメンションが掛け合わされて急激に行数が膨らむことがあります。この場合はまず、ビューのSHELF(行・列・詳細)を確認し、どのディメンションが粒度を細かくしているかを特定するのが解決の第一歩です。

ATTR関数(ATTRIBUTE関数)はこのような粒度の不一致に対処する際に活用できます。あるディメンションがビューの各行内で常に同じ値を持つ場合はその値を返し、複数の異なる値が混在する場合はアスタリスク(*)を返す関数です。データが意図どおりに集約されているかを診断するツールとして試験でも頻出の関数として知られています。

LOD計算(FIXED / INCLUDE / EXCLUDE)もビュー粒度と密接に関わります。FIXEDはビューの粒度に関係なく指定したディメンションで集計し、INCLUDEはビューの粒度に追加のディメンションを含めて集計し、EXCLUDEはビューの粒度から指定ディメンションを除いて集計します。どのLOD式を選ぶかは「ビューの粒度より粗くしたいか、細かくしたいか、独立させたいか」で判断します。

具体例

たとえば「地域」×「製品カテゴリ」のビューに「担当者」を詳細に追加すると、1マークが「地域 × カテゴリ × 担当者」の組み合わせになり行数が急増します。一方、ATTR([担当者])を使うと、1マーク内で担当者が一意のときだけ名前が表示され、複数混在する場合はアスタリスクが表示されるため、集約の状態をすぐに診断できます。

まとめ・試験ポイント

  • ビュー粒度=ビュー上の1マークが表す集計単位
  • ディメンションを追加するほど粒度が細かくなり行数が増える
  • ATTR関数=値が一意なら値を返し、複数値が混在するとアスタリスク(*)
  • FIXED=ビュー粒度に依存しない / INCLUDE=粒度を細かく / EXCLUDE=粒度を粗く
  • 「数の爆発」が起きたらSHELFのディメンション構成を確認するのが第一手
  • 試験では粒度変化の理由とATTR・LOD式の使い分けが頻出

学習した内容を模擬試験で確認しよう。Tableau Data Analyst模擬試験で実力を測ろう。

Tableau DA模擬試験を見る