3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Tableau] LOD(Level Of Detail)って結局なんのことなんだ

Posted at

はじめに

tableauを勉強してると、LODがどうのという記載をよく見かけます。

LOD、えるおーでぃー、Level Of Detailの略ね。ふーん。

詳細のレベルって、なんだろうそれ。

…とは思いつつスルーしながら生きてきましたが、今回はちょっと調べてみることにしました。

いくつか違う意味で使われるLODという言葉

なんとなく掴みどころのない単語だなと思っていたこのLODという言葉。

実は、シチュエーションによって3つの意味を指していることがあるように思います。

  1. 概念としてのLOD
  2. Viz上でのLOD(Viz LOD)
  3. 機能としてのLOD(LOD表現)

単にLODといった場合は1の「概念としてのLOD」を指すのが正しいと思うのですが、省略して2や3のこともLODと言ってしまっていることがある気がします。

だからややこしい感じがするんですね

1. 概念としてのLOD

LODはLevel Of Detailの略ですが、直訳すれば「詳細レベル」。
つまり、「どれくらいの詳細さか」ということです。

一番わかりやすいのは日付だと思いますが、日付には年 > 月 > 日 という階層がありますよね。
年が一番大きな括りで、日が一番細かい(つまり詳細)な括りです。

この、詳細さの度合いという概念をLODと呼んでいるわけです。

なので、もっともLODが低い状態は、1個1個のデータ。
そして、逆にLODが高い状態は、全体の総合計とかになってくるわけです。

ちなみにこのLODが高いとか低いって表現、個人的にしっくりきませんでした。
なんか、より詳細な日付の方が、ざっくりしてる年より詳細レベルが高いんじゃないの?と思ったわけです。

これはおそらくですが、





という階層構造になっているイメージなんでしょう。
これなら年が高くて日が低いのはわかる気がします。

2. Viz上でのLOD(Viz LOD)

一般にLODというとこのことを指すのが多いのかなと思うのが、Viz LOD

そのグラフが、どのくらいのレベルの詳細さで表現されているか、です。

一番LODが高い、つまり詳細じゃない状態は、例えば↓こんな、全売り上げの合計、とかですね。
image.png

ここに1つディメンションを足して、年ごとにすると、1段階 LODが低くなります
image.png

さらに月、日と足していけば、どんどんLODが低くなります。
image.png

つまり、すっごく雑に言ってしまえば、

「どれくらいディメンションを重ねてるか」

ってことですよね。

3. 機能としてのLOD(LOD表現)

そして最後がLOD表現、という機能名としての言葉。

おそらく、LODうんぬんという話が出るときは、こいつを使うかどうか、みたいな文脈なことが多いんじゃないでしょうか。

これはずばり、以下の関数を使うことを「LOD表現」を使う言います。 たぶん。

  • EXCLUDE
  • INCLUDE
  • FIXED

(日本語としては、「LOD表現をするための関数がこの3つ」というのが正しい気がしますが)

この3つの関数が何かというと、毎月の合計売上を、年ごとに平均して出したい!というような時に使います。

僕は最初、このお題の何がポイントかよくわからなかったのですが、つまるところ、「年ごと」と「月ごと」のLODが混在している、と言うことなのですね。

毎月の売り上げ、と言うと↓のような月ごとのLODですが、
image.png

それを平均して年ごとに出すと言うことは、最終的なViz LODは↓のような年ごとなわけです。
image.png

かといって、ディメンションを年にして、売り上げの平均を出すと…
image.png
当然、1件1件の取引額の平均になってしまいます。

これは困りますね。普通にやろうとすると、この食い違ったLOD(=ディメンションの深さ)をどうやって実現したらいいのかわからない…

LOD関数の使い方

LODの食い違いによって生じる困った状態を解決するのが、EXCLUDE、INCLUDE、FIXEDの3つの関数です。

この3関数がなにができるのかというと、Vizのディメンションとは異なるLODでの集計ができるのが特徴です。

先ほどの例だと、Viz LODは「年ごと」にしたいけど、そのために月ごとの1段低いLODで集計する必要がある、というケースですが、こういうVizより低いLODでの集計にはINCLUDE関数を使います。

image.png

こんな感じに式を書くと、Vizに指定しているディメンションとは関係なく、「月ごとの合計」を出してくれます。

で、これを年ごとのViz LODにしたところに平均として突っ込んでやることで、
image.png
やりたかった「月ごとLODでの合計売上」を「年ごとのLODでの平均」にすることができました。

一応、アナリティクスの合計を使って平均値の確認
image.png
うん、良さそう(↑これは月単位のLODですね)

VizのLODとは違うLODで集計する、というイメージが伝わりましたでしょうか?

詳細は省きますが、他の関数も合わせてざっくり説明すると、

  • EXCLUDE → Viz LODより高いLODでの集計
  • INCLUDE → Viz LODより低いLODでの集計
  • FIXED → Viz LODより高いのも低いのも混在したLODでの集計

という使いわけです。

おわりに

Tableauは、綺麗なGUIでスイスイできちゃう!という一方で、理解していないといけないちょっと難解な概念がけっこう存在します。

これはTableauがどうの、というよりは、データを可視化する際に出てくる課題があって、それをTableau上で解決するために出てくるものなのでしょう。

なので、LODわからん!Tableu難しい! というわけではなく、LODという概念はデータ可視化において必ず存在する課題で、むしろそれを解決できるTableauはさすがだな、というところなのかと思います。

まぁ、アルファベット3文字の略称をみると目が焼かれる系の自分としては、もう少し優しく表現してくれないかなぁーとは思いますがね…!!

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?