はじめに
tableauを勉強してると、LODがどうのという記載をよく見かけます。
LOD、えるおーでぃー、Level Of Detailの略ね。ふーん。
詳細のレベルって、なんだろうそれ。
…とは思いつつスルーしながら生きてきましたが、今回はちょっと調べてみることにしました。
いくつか違う意味で使われるLODという言葉
なんとなく掴みどころのない単語だなと思っていたこのLODという言葉。
実は、シチュエーションによって3つの意味を指していることがあるように思います。
- 概念としてのLOD
- Viz上でのLOD(Viz LOD)
- 機能としての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が高い、つまり詳細じゃない状態は、例えば↓こんな、全売り上げの合計、とかですね。
ここに1つディメンションを足して、年ごとにすると、1段階 LODが低くなります
つまり、すっごく雑に言ってしまえば、
「どれくらいディメンションを重ねてるか」
ってことですよね。
3. 機能としてのLOD(LOD表現)
そして最後がLOD表現、という機能名としての言葉。
おそらく、LODうんぬんという話が出るときは、こいつを使うかどうか、みたいな文脈なことが多いんじゃないでしょうか。
これはずばり、以下の関数を使うことを「LOD表現」を使う言います。 たぶん。
- EXCLUDE
- INCLUDE
- FIXED
(日本語としては、「LOD表現をするための関数がこの3つ」というのが正しい気がしますが)
この3つの関数が何かというと、毎月の合計売上を、年ごとに平均して出したい!
というような時に使います。
僕は最初、このお題の何がポイントかよくわからなかったのですが、つまるところ、「年ごと」と「月ごと」のLODが混在している、と言うことなのですね。
それを平均して年ごとに出すと言うことは、最終的なViz LODは↓のような年ごとなわけです。
かといって、ディメンションを年にして、売り上げの平均を出すと…
当然、1件1件の取引額の平均になってしまいます。
これは困りますね。普通にやろうとすると、この食い違ったLOD(=ディメンションの深さ)をどうやって実現したらいいのかわからない…
LOD関数の使い方
LODの食い違いによって生じる困った状態を解決するのが、EXCLUDE、INCLUDE、FIXEDの3つの関数です。
この3関数がなにができるのかというと、Vizのディメンションとは異なるLODでの集計ができるのが特徴です。
先ほどの例だと、Viz LODは「年ごと」にしたいけど、そのために月ごとの1段低いLODで集計する必要がある、というケースですが、こういうVizより低いLODでの集計にはINCLUDE関数を使います。
こんな感じに式を書くと、Vizに指定しているディメンションとは関係なく、「月ごとの合計」を出してくれます。
で、これを年ごとのViz LODにしたところに平均として突っ込んでやることで、
やりたかった「月ごとLODでの合計売上」を「年ごとのLODでの平均」にすることができました。
一応、アナリティクスの合計を使って平均値の確認
うん、良さそう(↑これは月単位の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文字の略称をみると目が焼かれる系の自分としては、もう少し優しく表現してくれないかなぁーとは思いますがね…!!
参考