
Tableau 8つのハードルを越える㉛「LOD計算 その1 粒度(LOD)とは」

こんにちは。
今回から、この連載記事「Tableau 8つのハードルを越える」シリーズの最後として「LOD(エルオーディー)計算」の解説に入りたいと思います。
なお、この連載記事につきましては、下記を参照して下さい
この記事作成に利用しているワークブックは下記にアップしています。
https://public.tableau.com/app/profile/satoshi.ganeko/viz/LOD_v2019_1/sheet0
「LOD(エルオーディー)計算」って何?
初めて聞いた方もいらっしゃると思います。あるいは教育などで少しだけ聞いたけど、とても難しそうという印象を持っていらっしゃる方も多いかと思います。
「LOD(エルオーディー)計算」はTableauで、計算フィールドを作成する際に利用できる計算の一種です。
英語では、「LOD expression」と言われます。
なので、日本語では「LOD表現」と訳すのが適切かもしれませんが、一般的に「LOD計算」と表現されている事も多いです。この記事の中でも、「計算の一種」という事を明確化するため「LOD計算」と呼称したいと思います。
「LOD計算」、その見た目は

など、これまでTableauで計算式を使っていた人から見ても、見慣れないものになっています。
{ } や : など、これまで計算式を作成するうえで打った事のない文字が並んでいます。
Excelの関数にも似たようなものはなく、私も最初、なんの事だかさっぱり分かりませんでした。
そんな、「LOD計算」について、順々に紐解いていきたいと思います。
まず、「LOD計算」の「LOD(エルオーディー)」とは何か?これを考えていきたいと思います。
LODは「Level of detail」の略です。日本語では「詳細レベル」と訳されますが、同時に「粒度(りゅうど)」という言葉でも表現されます。
この記事でも「粒度」と記載していきます。
つまり、

です。
「粒度」をさらに紐解くと「粒の細かさ具合」という表現が出来ます。
では、この「粒」っていったいなんだろう?という疑問が湧きます。
そんな疑問を持ちながら、ここで一旦、TableauがVizを作るときにどんな事をしているか、探ってみましょう。
例によってサンプルスーパーストアのデータを利用させて頂きます。
(この記事では、Tableau Version 2019.1のデータを利用しています。)
Tableauから、サンプルスーパーストアExcelの注文シートに接続し、
売上を行シェルフに持っていきました。データ全体の売上が縦棒グラフになりました。

棒グラフにマウスをあてると、データ全体の売上合計が、227,176,842と分かります。
この売上合計は、データ全体を全てひとくくりにして集計した結果となっています。
この状況をイメージ図にしてみます。
まず、下図のように、データ全体の中の1行1行のレコードを点で表し、
データ全体を点の集まりで表現してみました。

このデータ全体を下図のように、ぐるっと囲ってひとまとまりにして、
合計(売上)を集計しています。

次に、この棒グラフを地域別にしてみたいと思います。
地域を列シェルフに持っていきました。

すると上図のように、棒グラフが地域毎に分かれ、8本になりました。
この時、Tableauは、どのようにデータを切り分け集計しているか?
また、イメージしてみたいと思います。
今回は下図のように、データを地域ごとの8つの部分に切り分け

それぞれの、部分の中で合計(売上)を求める集計を行っています。

続いてさらに、カテゴリをマークの色に持っていき、カテゴリで色分けしました。
下図になります。

この時、データを切り分けて集計しているイメージはどうなるでしょうか?
下図のように、さらにカテゴリでも切り分ける事になり
地域8つ × カテゴリ3種類
の24か所の部分に切り分けられています。

そして、それぞれの部分の中で集計が行われています。

さらに、顧客名、製品IDなどのディメンションでデータを細かく切り分け集計していくと、集計する部分の大きさはどんどん小さく、つまり細かくなっていきます。
この集計を行う部分、これが「粒」に相当するもので、この粒の細かさが「粒度(LOD)」となります。

この集計される部分を細かく、すなわち粒度を細かくしていった上記の例では
・最初、データ全体の売上を集計
→ この時の粒度(LOD)は「なし」
・データを地域毎に切り分け売上を集計
→ この時の粒度(LOD)は「地域」
・さらにデータをカテゴリ毎でも切り分け売上を集計
→ この時の粒度(LOD)は 「地域 と カテゴリ」
このように表現されます。
Tableauは、ドラッグ&ドラッグ操作でディメンションを列や行・マークの色・詳細などに置く事で、直観的にデータを切り分け集計し視覚化してくれます。
この、「ドラッグ&ドラッグ操作でディメンションを置く」というひとつひとつの操作に応じ、そのワークシートでデータを切り分ける切り口は次々に変化していきます。これを言い換えると「粒度が変化している。」とも表現出来ます。
そして、ワークシートが完成した時点では、そのワークシートの粒度が決まっています。
この粒度は、Viz作成時に利用しているディメンションによって決まるわけですが、
より具体的に説明すると、下記赤枠の部分に配置したディメンションが粒度を決定する事になります。

*補足:赤点線の部分にディメンションをドラッグ&ドロップした場合は、必ず他の赤枠実線部分のどこかに当該ディメンションが入ります。
例えば、下図のようなVizを作ったとすると

この時の粒度(LOD)は、
・列にある 年(オーダー日) と
・行にある 顧客区分 と
・色にある カテゴリ
の3つとなります。
また、下図の散布図

では、
列にカテゴリ、マークの詳細に顧客IDが置かれています。
色にも、カテゴリがありますが、これは列におかれているものと重複しています。
このワークシートの粒度(LOD)は、
・列と色にある カテゴリ と
・詳細にある 顧客ID
となります。
このように、粒度(LOD)はワークシート毎に決まります。
このそれぞれのワークシートの粒度(LOD)の事を、「Viz LOD(ビズ エルオーディー)」と呼んだりします。
この後の説明でも、この「Viz LOD(ビズ エルオーディー)」の用語を使わせて頂きます。
「Viz LOD」ときたら、「作っているワークシートの粒度(LOD)の事だな。」と理解して下さい。
以上、まず「粒度(LOD)」の解説をさせて頂きました。
ご精読ありがとうございます。
「LOD計算 その2」は下記になります。
*連載記事すべてへのリンクは、こちらのマガジンにまとめています。
By ritz_Tableau
2020-2023 Tableau Zen Master | 2019-2021,2023 Tableau Public Ambassador |2021 certified as Tableau Certified Professional | DATA Saber
X(Twitter) : @ritz_Tableau
Tableau Public : https://public.tableau.com/profile/satoshi.ganeko#!/
*記事の中に不正確な点などありましたら、是非、X(Twitter) Direct Messageでお知らせ下さい。よろしくお願いします。m(__)m

おことわり
当記事のコンテンツについて、商用利用でない場合は許可なく転載して頂いて構いません。(ハードル画像および他のサイトから引用している画像は除く)
転載の際は、当記事へのリンクを掲載し転載であることを明記してください。商用利用の場合は許可なく転載しないで下さい。
当記事のコンテンツについて、可能な限り正確な情報を掲載するよう努めていますが、誤情報が含まれたり、情報が古くなっている可能性があります。当記事に掲載された内容、および、当記事からリンクやバナーによって移動したサイトに掲載された内容によって生じた、損害等の一切の責任を負いかねますのでご了承ください。よろしくお願いします。