【学びメモ】Tableau LOD計算
なんとなくはわかるけどしっくりこなかったTableauのLOD計算。少しずつしっくりし始めたので現時点の理解を整理したいと思います。
LOD計算とは
LOD(Level of Detail)計算とは、集計の粒度をコントロールできる計算。
LOD計算を利用することで、Viz内選択のディメンションとは異なる粒度で集計できたりデータソースとは違うメッシュで集計したデータで分析ができるようになる。
LOD計算の種類
LOD計算にはFIXED、INCLUDE、EXCLUDEの3つがある。
LOD計算の使い分け
まずはFIXED。
Vizに何のディメンションが選ばれているかにかかわらず(Viz内のディメンションに影響を受けず)、常に指定した粒度で計算を行う。Vizとは独立した存在。
例えば、地域毎の売上を計算するFIXED計算を定義する。Vizで地域・カテゴリが選ばれている場合、通常は地域・カテゴリ毎に売上を合計するが、FIXEDの式では常に指定した地域だけで合計されるため同じ地域であれば同じ値となる。
また、常に指定した粒度で計算する特性上、FIXEDで計算した値は、「顧客の初回購入日」などディメンションとしてその後の分析に利用することができる特徴がある。
FIXEDに慣れてくるとなんでもFIXEDとなり計算式が増えすぎてしまう。
例えば、顧客・カテゴリ毎の売り上げ平均を出したいと思ったら下記FIXEDを準備することになる。
でも、Vizによって、顧客・地域毎のとかディメンションを変えたくなりその都度FIXEDの計算式を準備するのはイマイチだ。汎用性を持たせることができるのがINCLUDEとEXCLUDE。
INCLUDEとEXCLUDEはVixの粒度を考慮し、Vizの粒度より細かい指定のレベルを考慮してくれるのがINCLUDEでVizの粒度から指定したレベルを抜いて荒くしてくれるのがEXCLUDE。
今回の例のように、「顧客毎の」とか細かい粒度のレベルを考慮したい場合は、INCLUDEの計算式を一つ準備しておくことで、Viz内のディメンションも考慮し計算式を無駄に増やすことなく使いまわしができる。下記例では、「顧客毎の」を考慮し平均売上を出すINCLUDEを準備しておき、地域だったりカテゴリだったりとVizで選択したディメンションと組み合わせせて平均売上額をだしている。
「顧客毎の」以外でも「オーダー日毎の」とか細かいよく利用される粒度で集計したい場合、INCLUDEを利用することで汎用的な利用ができてよい。
では、EXCLUDEはどんな時に利用できるだろうか?シェア計算には利用できる。例えば顧客区分毎のカテゴリ別売上を出した際に下記のような計算式を出して作っておけば占める割合を簡単にラベル表示できる。
これを見て下記のようなFIXEDで顧客区分の売上を使う方が分かりやすいのではと思った人いるでしょう。今回の例ではOKだが、この後年毎で見たいとかになると、FIXEDではVizに追加した年が考慮されず、全期間の顧客区分毎の売上の割合になってしまう。EXCLUDEで作ることで汎用性をもたせることができる。
EXCLUDEはまだ知らないだけでもっといい活用の仕方があるように思える。Tableauを使っていくうえでLOD計算に関する発見がでたら更新したいと思う。現時点の私の状況記録で今後の成長に期待。