LOD表現とは
LODとは「Level of Detail」の頭文字を取ったものです。
通常、Tableauではビュー(ワークシート)に設定している「行」や「列」ディメンションの中から一番細かい粒度で計算を行います。
行に「カテゴリ」「サブカテゴリ」を配置した状態で売上を集計すると一番細かい「サブカテゴリ」の粒度で売上を集計
上記のように「サブカテゴリ」の粒度でビューを集計している状態で「カテゴリ」内の「サブカテゴリ」の割合を出したい場合、LOD表現を使用することで実現可能です。
このビューの中で「サブカテゴリ毎の売上合計」と「カテゴリ毎の売上合計」を同時に算出し、「サブカテゴリ毎の売上合計」/「カテゴリ毎の売上合計」(カテゴリ毎の売上を100%とした時のサブカテゴリの内訳)という式を作るためにLOD表現を使用します。
LOD表現の書き方とルール
集計の粒度のレベルをコントロールできるLOD表現の方法は以下の3種類があります。
FIXED : ディメンションを無視したレベルで集計する
INCLUDE : 粒度をディメンションより細かなレベルにして集計する
EXCLUDE : 粒度をディメンションより大きなレベルにして集計する
※3つありますが、ほとんどの場合はFIXEDで解決できるのでまずはこれだけ覚えておけば十分です。
LOD表現の基本的な構文は以下の通りです。
{FIXED ディメンション名 : 集計式}
→カテゴリ毎の売上合計を集計したい場合は以下の書き方になります。
{FIXED カテゴリ : Sum(売上)}
実際にこのLOD表現を先ほどのビューに表示させてみます。
LOD表現(右列)で「カテゴリ」の粒度で売上を集計
ディメンションにサブカテゴリを設定した状態で、カテゴリ毎の粒度で売上合計も表示されていることが確認できます。
これはLOD表現で粒度を「カテゴリ」に指定しているため、「カテゴリ」以外の粒度を無視、つまりディメンションに設定している「サブカテゴリ」の粒度を無視して計算しています。
では「サブカテゴリ毎の売上合計」/「カテゴリ毎の売上合計」を集計するために数式を設定してみます。
ここでは既にディメンションに「サブカテゴリ」を設定しているため以下のような数式を記述したくなると思います。
Sum(売上)/{FIXED カテゴリ :Sum(売上)}
計算フィールドでSum(売上)/{FIXED カテゴリ :Sum(売上)}と入力した場合
そうするとエラーが出てしまいました。
これは初心者の方が陥りがちな罠ですが、LOD表現のルールに「LOD表現はLOD表現が相手で無いと四則演算ができない」というものがあるためです。
従って「サブカテゴリ毎の売上合計」も同じようにLOD表現で作成します。
計算フィールドで{FIXED サブカテゴリ :Sum(売上)}/{FIXED カテゴリ :Sum(売上)}と入力した場合
エラーが表示されず、正しく計算できるようになりました。
あとは上記の数式をビュー上に配置し、数値書式などを設定するとディメンションに「サブカテゴリ」を設定しつつ、「サブカテゴリ毎の売上合計」/「カテゴリ毎の売上合計」を表示することができました。
ビュー上にFIXED サブカテゴリ :Sum(売上)}/{FIXED カテゴリ :Sum(売上)}の数式(最右列)を配置
このようにLOD表現を使う事によってビューに設定しているディメンションの粒度を無視した集計を行うことができました。
まとめ
・LOD表現は行や列に設定しているディメンションを無視した粒度で集計できる
・LOD表現の基本的な構文は {FIXED ディメンション名 : 集計式}
・LOD表現同士でないと四則演算ができないため、割合などを出す場合は分子分母両方をLOD表現で作成する
デモを交えて短時間でTableauの概要をお伝えしたり、Tableauを活用した事例紹介のウェビナーも随時開催中です。下記のリンクよりぜひご参加ください。
新卒でソフトウェアベンダーに入社しBIツールを使ったシステム構築やデータ分析の他、顧客向けのトレーニングやセミナー講師を担当。
その後、WEB系事業会社のWEBマーケティングの担当として新規顧客獲得や広告運用の業務を担当した後ヴァリューズに入社。
現在はお客様が持っているデータを活用してマーケティングの支援を行う他、WEBマーケティングデータとBIツール「Tableau」を組み合わせた新たなサービスの開発にも従事。