【Tableau】LOD計算を理解したい! vol.1
はじめに
最近何かとTableauを触る機会が増え、これまで何となく理解した気になっていたことが多々あることに気づいたので、自分自身の内容理解と備忘のためにTableauについてまとめたいと思います。
初回はLOD計算について。Tableau関連の書籍や動画の中で何度も出てくるものの、毎回その場しのぎになっていたので、改めてLOD計算とその種類について整理します。
LOD計算とは
LOD(Level Of Detail)計算とは、どのレベル(サンプルスーパーストアのデータであれば、「カテゴリ」や「サブカテゴリ」など)で計算するかを明示的に関数で指定する計算方式のこと。LOD計算用の関数には、「FIXED」、「INCLUDE」、「EXCLUDE」の3つがある。
実際にTableau上でこの3つの関数を使いながら違いを確認してみる。
FIXED
まずは「FIXED」から。FIXED関数はビュー内のディメンションに関係なく、指定されたディメンションを使用して値を計算するもの。
お馴染みのサンプルスーパーストアのデータを用いて以下3パターンの割合を出して結果を比較してみた。
①簡易表計算を使用して合計に対する割合
②FIXED関数を使用して都道府県毎の売上割合
③FIXED関数を使用して全国に対する売上割合
※集計同士でないと計算できないため、分母には集計関数の一つであるATTRを使用
※③はFIXEDの詳細レベル(ディメンション)を指定していないため、全てのデータ(全国)の売上合計となる
ビュー内に都道府県と市区町村のディメンションを入れ、上述の3つを行に入れて比較したのが下の図となる。
①の簡易表計算では、フィルターで選ばれている宮城県と神奈川県の合計売上を100%とした時のそれぞれの市区町村の割合が表示されている。フィルターの都道府県の選択を増やせばそれぞれの値も変わり、都道府県を増やせば増やすほど現在表示されている値は小さくなる(分母が大きくなるため)。
②ではFIXEDの詳細レベルを都道府県としているため、それぞれの都道府県を100%として計算がされている。図では宮城県で100%、神奈川県で100%で集計されていることがわかる。この場合は①と異なり、フィルターで都道府県を増やしても、宮城県の石巻市や神奈川県の川崎市川崎区の値は変化しない(分母はそれぞれの都道府県の売上なので他の都道府県に影響されないため)。
③はFIXEDでディメンションを指定していないため、全てのデータの売上合計(つまり全国の売上)で集計されている。分母が全国となりそれぞれの都道府県の市区町村の売上が分子となるので、①や②と比較すると値が小さくなっている。フィルターで他の都道府県を増やしたとしても、②同様に現在表示されている市区町村の値は変化しない(分母が全国の売上なため)。
実際に図5の状況に大阪府を足すと以下のようになり、それぞれの値が変化している場合と変化していない場合があることが確認できる。
次回は「INCLUDE」について同様にまとめていきます。
参考
“詳細レベル (LOD) 表現について.” Tableau, https://www.tableau.com/ja-jp/learn/whitepapers/understanding-lod-expressions#main-content
Tableauデータ分析: 入門から実践まで. 秀和システム, 2017.