【Tableau】LOD計算とは?〜INCLUDE計算編〜

f:id:kaodora:20210115111329j:plain
LOD~INCLUDE計算編~です🧊🧊🧊
個人的には1番難しかったINCLUDE計算ですが、言葉にして見れば意外と簡単かもしれません。
f:id:kaodora:20210115110920p:plain
LOD計算の概要はこちらです。
kaodora.hatenablog.com

INCLUDE計算の特徴

1.INCLUDE計算はビュー内のディメンションを考慮します。

{INCLUDE[都道府県]:SUM(売上)}
この計算はビュー内のディメンションを考慮した都道府県ごとの売上合計です。
f:id:kaodora:20210115155816j:plain
しかしLOD計算は非集計として扱われるため
SUM({INCLUDE[都道府県]:SUM([売上]})実際ビュー上では集計関数のついたこのような式になります(デフォルトは合計)
INCLUDE計算は
ビュー内のディメンションを考慮した○○(ディメンション)ごとの集計関数□□の△△(集計関数)」を出すと覚えましょう。
よってこの式は上の画像に倣い、市区町村を考慮した都道府県ごとの合計売上の合計、ということになります。

2.FIXED計算との違い

f:id:kaodora:20210115162200p:plain
SUM({FIXED[都道府県]:SUM([売上]})
SUM({INCLUDE[都道府県]:SUM([売上]})を比べてみます。
FIXED編にもあったように、FIXED計算は宣言したディメンション以外のものを無視し、ビューに対して独立しています。
上の画像を見るように、市区町村では集計せず、同じ数字(都道府県ごとの売上合計の合計)が並んでいます。
一方で、INCLUDE計算は市区町村を考慮した(市区町村で集計した)結果が返されています。

3.FIXED計算と置き換えできます。
f:id:kaodora:20210115164003p:plain

SUM({INCLUDE[都道府県]:SUM([売上]})とは先ほど、市区町村を考慮した都道府県ごとの合計売上の合計と言いました。
では、SUM({FIXED[都道府県],[市区町村]:SUM([売上])})はどうでしょうか。
FIXED計算のお約束に則ると、都道府県、市区町村ごとの合計売上の合計ですね。
これは、今回のINCLUDE計算と同じ意味になります。
つまりは、INCLUDE計算はFIXED計算の宣言するディメンションを複数に増やすことで置き換えることが可能です。

しかし、ディメンショの数が多い時など入れ忘れを防ぐためにもINCLUDE計算を活用した方が良さそうですね!

4.通常の集計とINCLUDE計算の違い

f:id:kaodora:20210115190908p:plain
あれ、通常の集計(SUM(売上))とINCLUDE計算同じじゃない?

f:id:kaodora:20210105133034p:plainINCLUDEにする必要あんの?
と思った方いますか。あ、私です。
これは両者を平均すると簡単です。f:id:kaodora:20210115194946j:plain

AVG(売上)はSUM(売上)を、その行数で割っているのでした。(安城だったら、安城のSUM(売上)を安城の行数で割っている)
つまり、粒度はこのデータ自体の「1購入ごとの」でした。
しかし、INCLUDE計算は一度中間テーブルで市区町村を考慮して、都道府県ごとの合計売上を出しているのでした。つまり、粒度は「都道府県、市区町村ごとの」です。
都道府県、市区町村ごとの合計売上をさらに平均にしても数字は同じですよね。
結論、通常の集計とINCLUDE計算は粒度が全く異なるので違います!

余談ですが、{INCLUDE[都道府県]:AVG(売上)}にすれば、AVG(売上)と数字は一致します。裏の中間テーブルがどんな粒度で集計されているのか、を意識すればいいと思います!

5.INCLUDE計算とフィルターの関係

f:id:kaodora:20201221203848p:plain
INCLUDE計算はディメンションフィルターがかかった後に計算されます。
f:id:kaodora:20210118130526p:plain
上の写真のように、
{FIXED[カテゴリ]:SUM([売上])}
{INCLUDE[出荷モード]:SUM([売上])}をそれぞれビューに入れます。
以下のように出荷モードでフィルター(ディメンションフィルター)をかけるとEXCLUDE計算だけ数字が変わることがわかります。f:id:kaodora:20210118130910p:plain
これは裏側で以下のようなことが起こっています。

f:id:kaodora:20210118133304j:plain繰り返しになりますが、ディメンションフィルターの後にINCLUDE計算は集計されます。

INCLUDE計算の例

INCLUDE計算は先ほどにもありましたように、
ビュー内のディメンションを考慮した○○(ディメンション)ごとの集計関数□□の△△(集計関数)
下の例を見て、口に出してガンガン練習しましょう。

SUM{INCLUDE[カテゴリ]:AVG(利益)}
→ビュー内のディメンションを考慮したカテゴリごとの平均利益の合計
SUM{INCLUDE[カテゴリ]:COUNTD([顧客id])}
→ビュー内のディメンションを考慮したカテゴリごとの一意の顧客id総数の合計
{INCLUDE[顧客id]:MAX([オーダー日])}
→ビュー内のディメンションを考慮した顧客idごとの最終オーダー日
(集計関数以下が「日付型」のため、このFIXED計算も「日付型」になります。よって、非集計として、式の前に集計関数がつくことはありません。)

 

次回EXCLUDE編です💡💡💡