Tableau

真打ち登場LOD ~Tableauで苦戦するアイツを知ろう~

こんにちは。エクスチュアの大吉です。
Tableauを扱う際、つまづくポイントがいくつかあります。
その1つがLOD(Level of Detail)です。
LODは、Tableauを使う上で避けて通れない概念です。
にもかかわらず、多くの人がここで一度は手を止めてしまいます。

今回はそんなLODをみなさんが好きになってくれるように丁寧に解説していきます。
本記事ではLODの概念や必要性に触れていきます。
是非最後まで読んでみてください。

1. そもそも「LOD(粒度)」とは何か

LODは Level of Detail の略で、日本語にすると「詳細レベル」や「粒度」と訳されます。
少し堅く、身構えちゃう言葉ですが、意味はとてもシンプルです。

「どの単位でデータを見ているか」

たとえば、、、

  • 日別で見る
  • 店舗別で見る
  • 顧客別で見る

これらはすべて「粒度の違い」です。

Tableauでは重要なポイントがあります。
それは、ビューにも粒度があり、計算にも粒度があるということです。

多くの場合、この2つは自然に一致します。
だから普段は意識せずに使えているのですが、LODはこの「当たり前」を意図的に崩す仕組みなです。


2. 通常の集計はどう決まるのか(LODなしの世界)

LODを理解するためには、まず「LODがない世界」を知る必要があります。

Tableauでは、SUMやAVGなどの集計は、

ビューに置かれているディメンションの組み合わせ

によって自動的に決まります。
これはSQLでいうところのGROUP BYにかなり近い考え方です。

たとえば、、、

  • 行「売上」
  • 列に「カテゴリ」

を置けば、「カテゴリ単位の売上合計」になります。



ここで重要なのは、

集計の粒度は、ユーザーが明示しなくてもビューが決めてくれる

という点です。

LODを使わない限り、計算は常に「今見えている粒度」に従います。


3. なぜ通常の集計では足りなくなるのか

では、なぜLODが必要になるのでしょうか。
それは、見たい粒度と、計算したい粒度がズレる瞬間があるからです。

たとえば、、、

「都道府県別の顧客毎の売上を見ながら”顧客ごとの合計売上”を一緒に表示したい」

このとき、
ビューの粒度:都道府県と顧客
欲しい計算の粒度:顧客のみ
となります。

通常の集計では、ビューの粒度(都道府県と顧客)に引っ張られてしまい、「顧客のみ」を正しく出すことができません。

ここで初めて、

粒度を明示的に指定する必要

が生まれます。
それを可能にするのがLODです。


4. LODの基本構文と考え方

LODの計算式を見ると、最初は少し身構えてしまいます。

{ FIXED [顧客] : SUM([売上]) }

ですが、やっていることは意外と単純です。

この式を日本語にすると、

「顧客単位で、売上を合計して」

と言っているだけです。

ポイントは、LODは計算式というより「宣言」に近いということです。

  • どの粒度で
  • 何を計算するのか

これをTableauに伝えているだけなのです。

例えば下の図では、
蔭山陸さんは複数の都道府県で売上がありますが、FIXEDでは「顧客名のみで集計する」としています。
蔭山さんのすべての売上が合計され(251,959円)、売上の確認できるすべての都道府県に表示されています。


5. LODを理解するための思考フレーム

LODを使うときは、次の4つを順番に考えるようにしています。

1. 今のビューの粒度は何か
2. 本当に欲しい計算の粒度は何か
3. この2つは一致しているか
4. 一致していなければLODを使う

この手順を踏めば、「なんとなくLODを書く」ことは減っていきます。
LODはセンスではなく、手順で理解できる機能です。


まとめ

いかがだったでしょうか。
LODは、Tableauを使っていると「急に分からなくなる」代表的なポイントです。
式自体は書けているのに、なぜその数値になるのか説明できない——
多くの人が同じところでつまずきます。

それは理解力の問題ではなく、ビューの粒度と計算の粒度を同時に考えるという、Tableau特有の考え方に慣れていないだけです。

LODは難しい機能というより、「本当はどの単位で計算したいのか」を自分に問い直すための仕組みだと考えると、少し見え方が変わります。

この記事ではLOD全体の考え方に絞って紹介しましたが、
具体的なFIXED / INCLUDE / EXCLUDE それぞれの使いどころについては、
今後、別の記事で順番に触れていく予定です。

まずは
「ビューの粒度と計算の粒度は違うことがある」
この感覚を持ち帰ってもらえれば十分だと思います。
LODに少しでも苦手意識が和らいだなら、嬉しく思います。

次回以降の記事ではFIXED、INCLUDE、EXCLUDEについてそれぞれ触れていきます。
是非そちらも合わせて読んでみてください。


モック作成が面倒で “楽” した話前のページ

真打ち登場LOD ~TableauのFIXED関数を知ろう~次のページ

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Tableau

    真打ち登場LOD ~TableauのEXCLUDE関数を知ろう~

    こんにちは。エクスチュアの大吉です。これまでの記事では、FI…

  2. Tableau

    Tableau:分かりやすいLOD-概要編

    こんにちは、エクスチュアの渡部です。今回からLOD計算について、複…

  3. Snowflake

    TableauとSnowflakeを接続する方法

    こんにちは、中村です。SnowflakeとTableauの接…

  4. Tableau

    【TC19ブログ】Tableau Conference 2019 2日目レポート

    こんにちは!エクスチュア大崎です。昨日11…

  5. Tableau

    【図解】Tableau Desktop 2020.3で「計算式」「予測機能」など大幅アプデ!

    Tableau Desktop 2020.3の7つの新機能【注目度順】…

  6. Tableau

    Tableau:KPI達成状況を把握出来るグラフを作る

    こんにちは。エクスチュア渡部です。今回はTableauで↑のように…

カテゴリ
最近の記事
  1. AtScale Developer Editionでセマンテ…
  2. 真打ち登場LOD ~TableauのEXCLUDE関数を知ろ…
  3. DataformでactAs権限に適合する設定をする
  4. 真打ち登場LOD ~TableauのINCLUDE関数を知ろ…
  5. 真打ち登場LOD ~TableauのFIXED関数を知ろう~…
  1. Python

    わかりやすいPyTorch入門③(手書き数字認識と精度の向上)
  2. Adobe Analytics

    Google Analytics検証を効率的に進める方法
  3. Databricks

    Databricks: Spark DataFramesをJDBCから作成する
  4. Data Clean Room

    SnowflakeのData Clean Roomを基礎から一番詳しく解説(1回…
  5. dbt

    TROCCO dbt連携編
PAGE TOP