VizLODを意識したTableau LOD計算【上達するのに苦労したからこそ教えたい】

tableau-lod

「LOD(Level of Detail/詳細レベル)計算」は、Tableauのパワフルな機能であるにも関わらず、その理解は、Tableauの学習を始めた多くの方が突き当たる大きな壁の一つです。

「LODは中間テーブルと考えればいいんですよ」「LODは習うより慣れろ」と言われたことがあるかもしれません。しかし、そんなことを言われてもよくわからなかった方が多いでしょう。そして、「FIXED」など(FIXED、INCLUDE、EXCLUDEのことを正しくは”スコーピングキーワード”と言います。)で計算フィールドを作成・練習した方も多いでしょう。しかし、使いこなすレベルまでいくには、根本的なLODの概念の知識、集計や粒度の知識が必要です。なぜなら、初見データの個別具体的な課題は、これらの根本的で根底的な知識を組み合わせてはじめて解くことができるからです。

ですので、本記事では、Tableau LOD計算の個別具体的な解決策を提案するのではなく、データのLOD、VizLOD、LOD計算の「LOD群」を解説します。特にVizLODについては、海外では一般的に語られているのですが、日本では殆ど語られません。この整理や理解を飛ばし、LOD計算を間違ってされている方はとても多いです。

このようなお声も頂けました。

何のLOD(Level of Detail)を話しているのかを明確にすることがLOD計算を理解する第一歩である

LODは日本語で詳細レベルと言われ、一般的に「データの粒度(Granurarity of Data)」と定義づけられます。Tableau内で行われるLOD表現(LOD計算)のことを省略して「LOD」と仰っていらっしゃる方はとても多いのですが、「LOD」という言葉自体は、単に「詳細レベル」(粒度)のことを指します。LODという言葉の定義が人や文脈によって異なることが、多くの人が「LOD計算」を理解することを阻害している一つとも言えますので、以降解説します。

データのLOD

データ分析、データ視覚化の前に、データの詳細レベルを理解することは最も重要です。「データの一行一行が何でできているのか」「一行は何を意味しているか」を理解することから全てスタートします。

下図を見てください。購買のデータセット(サンプルスーパーストア)です。

サンプルデータセット

 

下図を見てください。これを見ると、データの詳細レベルは1注文レベルで一意にはなっていない(これを「ユニークではない」という言い方をします)ということがわかります。なぜなら、同じオーダーIDが複数あるからです。

ハイライト

 

このデータは購買データですので、例えばAmazonでの購入を想像してみてください。一つの注文に対して、複数のアイテムがあるはずです。私は花粉防御スプレー、ティッシュ、トイレットペーパーを購入したら、それらがそれぞれ行レベルにきているイメージです。下図を見ると、そうなっているのがわかりますね。

行レベル

このデータソースの粒度は、一購入における製品別で行ができています。

データ分析/視覚化を始める前には、「データの一行一行が何でできているのか」「一行は何を意味しているか」を理解することが大切です。

VizLOD

VizLODとは、Tableau内のビジュアライゼーション(Vizと言います)でのLODです。

例えば、下図ではこのビジュアライゼーションのVizLODは「地域」です。

ディメンション

このデータセットに「地域」は8つ入っているため、地域が8つ表示されています。

分析を進めていくともう少し複雑なことをしたくなるはずです。ディメンションを追加して、下図のようにカテゴリーと地域ではどうでしょう。

データ ポイント

それぞれのデータポイント(正確には、マークと呼びます)が「カテゴリ」と「地域」の組み合わせの状態です。「地域」だけではなくなりましたね。組み合わせていますので8つ以上のデータ ポイントになっています。なぜなら、2つのディメンションを組み合わせているからです。それぞれのデータポイントは、固有の地域、固有のサブカテゴリlの組み合わせとなっており、多くのデータポイントが見えている状態です。

ここで、私はそれぞれのフィールドを異なる場所(シェルフ)に入れました。カテゴリー、地域をマークカードに入れ、利益と売上とそれぞれ行と列に入れました。Tableauでは、どの場所(どのシェルフ)にフィールドを入れるかにより、ビューの詳細レベル(VizLOD)に異なる影響を与えます。次に、VizLODにインパクトがある場所を解説します。

ここで、異なる場所(シェルフ)がどのようにビュー内の詳細レベルに影響を与えているのかを解説します。

VizLOD(詳細レベル)を決定づける場所

下図をみてください。ドラッグアンドドロップすると詳細レベルを決定づける場所(シェルフ)に赤くハイライトしてみました。ハイライトされた場所がシェルフですフィルターとツールヒント以外ほぼ全てにハイライトがされています。

ページには破線をしました。これは、他のハイライトされている部分のシェルフにフィールドをドラッグアンドドロップすると、データ ポイント(マーク)が増加するのですが、ページはそのような動きはしません。加わったデータ ポイントが隠れるためです。

LOD(詳細レベル)に影響がない場所

ツールヒント(ツールチップ)とフィルターは詳細レベルにインパクトを与えません。

LODに影響を与えない部分

LOD計算

データLODは、収集されたデータが持っているデータの粒度、そしてVizLODとはTableauのビュー内で形成されるビジュアライゼーションの粒度のことと理解できたかと思います。ここまで理解して、ようやくLOD計算を理解する準備が整いました。

前節では、「地域」を入れてそのVizLODで集計がされる状態を見てきました。

例えば、下記のような計算ですと、VizLODに「地域」のディメンションを入れた場合、そのまま「地域」で売上の平均が計算されます。

LODの図

ここで、このVizLODに関係のない(VizLODと独立して)計算をしたい場合に登場するのがLOD計算です。

FIXEDのLOD

これは、VizLODに関係なく、地域のLevel of Detailで計算される、ということです。

LODはなぜパワフルかというと、このVizLODにないディメンションで集計を使うことができるからです。

粒度と集計度合いは反対に動く

それぞれのLOD計算を理解するために、粒度と集計の度合いの関係性について知っておく必要があります。粒度と集計(※)の度合いは反対方向に動きます。

Tableau内で、ディメンションとメジャーをビュー内に入れると、メジャーはビューの中にあるディメンションの切り口で集計されます。ディメンションを増やせば粒度は細かく刻まれた状態になっていき、最後まで刻むと、当初のデータの行レベルに行き着くことなります。

下図を見てください。

VizLOD

上記を見ると、どのようにそれらが反対方向に動くのかイメージができるかと思います。ここでは、集計の度合いが高ければ高いほど、粒度としてはざっくりし、逆の場合も同じ」というイメージを理解できれば良いです。

ディメンションをどんどん入れていき、粒度を細かくすれば、あなたが本来もっていたデータの詳細レベルにドリルダウンされ、データ自体の行レベルにどんどん近づきます。

※ちなみに、ここでいう「集計」の意味は、集計関数を使った計算、という意味です。

集計関数:SUM/AVG/MAXなど

非集計関数:ROUND/YEAR/ZNなど

上記の例(図)では、VizLODに3つのディメンションが入っている状態です。ビューにメジャーのフィールド(ピル)を入れた時、ビューにある全てのメジャーがこの3つのディメンションの組み合わせで集計されます。

TableauのLOD計算がパワフルである所以は、VizLODにあるものと異なるLOD(詳細レベル)で計算をすることが可能だからです。つまりこれは、今VizLODはディメンションが3つ入っていますが、LOD計算を使ってディメンション1とディメンション2だけを使って計算ができる、ということです。この機能はデータ分析に多くの柔軟性と自由度をもたらします。ビュー(ビジュアライゼーション)を変えることなく、詳細レベルをコントロールをすることができるためです。

TableauのLOD計算は3種類あり、EXCLUDE、INCLUDEそしてFIXEDがあります。

どれも、下記のように使います。

・{から始める

・FIXED、EXCLUDE、INCLUDEを計算フィールドにタイプする

・ディメンションが複数ある場合は間にカンマを入れる

・その後、コロン”:”をつける

・集計関数を入れるNow you put an aggregate (SUM(), AVG(), MIN(), etc.…)

・}で閉じる

FIXED

FIXEDは、宣言したディメンション以外の存在を無視します。いわば、何からも独立した状態です。VizLODから独立して動きます。

FIXED

FIXEDは3つのLOD計算の中で最もパワフルなものでしょう。FIXEDは、EXCLUDEとINCLUDEができることに加えてその他多くのことができます。下図に、FIXEDの2つの使い方を示します。顧客区分の中で最も大きい売上を見る場合です。顧客区分には多くのオーダーが入っていますが、この中で、最も大きい売上の情報が入った列が欲しいという時です。それが出せれば、一つの同じビュー内で、顧客区分内での合計売上を見ることができます。

もう一つの例は、顧客区分の中での最初のオーダー日を出そうとする時です。それぞれの顧客区分ではたくさんのオーダー日をもっていますが、最も早いオーダー日を知りたい場合です。


FIXED

EXCLUDE

EXCLUDEは、ビューに配置されているけれど、集計に不要なディメンションがある場合それを除外して集計します。

メジャーの集計が、VizLODより上がっている状態です。

 

LOD

例えばビュー内にディメンションが2つあるとしましょう。カテゴリ、サブカテゴリとします。2つのディメンションでの売上で集計したいけれど、カテゴリだけでの集計でも見たいとします。この場合、サブカテゴリを除外すれば、サブカテゴリを無視して、カテゴリでの集計を出すことができます。

EXCLUDE

その他の選択肢としては、ただサブカテゴリをビューから出して、ただカテゴリだけをビューに入れ、VizLODとなったカテゴリで集計させる、というやり方しかありません。

INCLUDE

INCLUDEはすでにビュー内に配置されているディメンションを考慮します。VizLODを起点とするのはEXCLUDEと同じです。粒度を細かく、行レベルに近づいていく方向にするのがINCLUDEです。

INCLUDE

また、カテゴリとサブカゴリから始めましょう。「顧客区分」というディメンションを入れましょう。顧客の分類です。顧客区分ごとの平均の売上を知りたい、という時に下図の通りINCLUDEを使って実現することが可能です。

INCLUDE

まとめ

Tableauの機能として、LOD計算は革命的でした。なぜなら、分析のフローやご自身のひらめきをわかせてくれる脳のフローを止めてしまうものの一つがこの異なる詳細レベルでの集計であり、それを見事に解決したからです。

LOD計算が必要な問いは、問うのは簡単なのですが、答えるのは難しいものが多いです。

「1000以上の注文がある日の日数を四半期ごとに見たいな」

このような質問にスピーディに答えるために、Tableau9.0はLOD計算(表現)がリリースされました。

 

データのことなら、ビジネス課題とデータを高度に融合させている私たちにご相談ください。

弊社では、データ分析/視覚化コンサルティング・PoC支援に加え、ビジュアルアナリティクス、ダッシュボードレビュー、役員・管理職向け研修などのトレーニングを提供しています。組織に根付くデータ活用戦略立案の伴走をしています。

 

会社紹介資料ダウンロード

私たちのサービスをご検討中のご担当者様のために、サービスの詳細や実績、他社サービスとの違いをまとめました。

導入の意思決定の材料として、もしくは上司の方への提案材料としてご活用ください。

 

 

 

 

お問い合わせ

サービスに関するご質問や講演依頼など、お気軽にお問い合わせください。2営業日以内にお返事いたします。

お名前【必須】
メールアドレス【必須】
希望するサービス
ご希望の納期【必須】
詳細