こんにちは!ぽこぽこ太郎です!!
早速ですが、LOD計算の「FIXED、INCLUDE、EXCLUDE」について見ていきましょう!
実際に手を動かしながら読み進めることをオススメします!やはり手を動かしながら理解すると違いますからね〜
※LODとはについて説明は省きます。
参考資料
下記はFIXED、INCLUDE、EXCLUDEの違いを記載したダッシュボードです。
下記資料は、集約粒度を示したものです。
今回は例としてみんな大好きサンプルスーパストアをInputとして実行していきます。
サンプルスーパストアのうち、場所をピックアップしています。
これをベースに進めていきます。
前提
皆さんはTableauを使用している時、「〇〇を行に入れて、△△を列に入れて。。」と何気なく使っていますか?
一旦内部的にどのように動いているか確認してみましょう。
ここで皆さん!何が起こったのか考えてみましょう。
「地域」を列に持っていくことで、「売上」が「地域」単位で分かれました。
これは、キャンバス上で売上が「地域」単位で集約された結果を棒グラフで表示しています。
さらに、「都道府県」を列に入れてみましょう。
「都道府県」を列に持っていくことで、「売上」が「地域」、「都道府県」単位で分かれました。
これは、キャンバス上で売上が「地域」かつ「都道府県」単位で集約された結果を棒グラフで表示しています。
このように、ディメンション項目を行や列に入れることで、メジャーはディメンション項目で集約されていきます。
この考え方を持って進めていきましょう。
FIXED
FIXEDとは、あるディメンションで集約レベルを固定しメジャーを集計するものです。
書き方:
{ FIXED [集約したいディメンション]: 集計式([集計したいメジャー]) }
EX:
{ FIXED [都道府県]: AVG([売上]) }
集約単位を「都道府県」とすると、データは都道府県単位で集約されます。
そのため、集約レベルが低い(今回は市町村とレコード単位)の影響は受けることはありません。
なぜなら、都道府県ごとにレコードが集約されてしまっており、それより細かい粒度では見ることができなくなるためです。
参考資料の[市町村単位の売上]シートを見てみましょう。
FIXEDで作成した「平均 都道府県ごとの平均売上FIXED」の値が「平均 売上」(通常の場合)と値が異なっていることがわかります。これは、集約の最小レベルが「都道府県」と定めているため、より集約レベルが低い「市町村」項目の集約が無視されている形になります。
FIXEDの値が本当に合っているか確認してみます。
京都府の平均売上は30,926.452525253となっています。
参考資料の[都道府県単位の売上]シートを見てみましょう。
このように同じ値になっていることがわかります。
以上が、FIXEDについて解説でした。
INCLUDE
INCLUDEとは、あるディメンションで集約レベルを指定しメジャーを集計するものです。
FIXEDとの違いは、他のディメンション項目の影響を受ける点です。
FIXED :他のディメンション項目の影響を受けない
INCLUDE:他のディメンション項目の影響を受ける
書き方:
{ INCLUDE [集約したいディメンション]: 集計式([集計したいメジャー]) }
EX:
{ INCLDE [都道府県]: AVG([売上]) }
集約単位を「都道府県」とすると、データは都道府県単位で集約されます。
しかしFIXEDとは違い、集約レベルが低い(今回は市町村)の影響を受けます。
参考資料の[市町村単位の売上]シートを見てみましょう。
INCLUDEで作成した「平均 都道府県ごとの平均売上INCLUDE」の値が「平均 売上」(通常の場合)と値等しいことがわかります。これは、集約の最小レベルが「都道府県」と定めていますが、より集約レベルが低い「市町村」項目の集約が反映されている形になります。
しかし、参考資料の[地域単位の売上]シートを見てみましょう。
INCLUDEで作成した「平均 都道府県ごとの平均売上INCLUDE」の値が「平均 売上」(通常の場合)と値が異なっています。これは、集約レベルがINCLUDEでは「都道府県」ですが、「平均 売上」は何も集約していない(レコード単位)で値を持っているために発生しています。INCLUDEでは、あらかじめ都道府県ごとに集約した平均売上を使って地域ごとの平均売上を算出していますが、「平均 売上」はあらかじめ何も集約せずにレコードを地域ごとに集約して平均売上を算出しているためです。
以上が、INCLUDEについて解説でした。なかなか理解しにくい部分ですが、実際に手を動かして確認してみてください。
EXCLUDE
EXCLUDEとは、指定したディメンションの集約レベルを無視してメジャーを集計するものです。
書き方:
{ EXCLUDE [集約を無視したいディメンション]: 集計式([集計したいメジャー]) }
EX:
{ EXCLUDE [都道府県]: AVG([売上]) }
集約単位を「都道府県」とすると、データは都道府県単位での集約を無視します。
そのため、「都道府県」レベルの影響は受けることはありません。
参考資料の[都道府県単位の売上]シートを見てみましょう。
EXCLUDEで作成した「平均 都道府県ごとの平均売上EXCLUDE」の値が「平均 売上」(通常の場合)と値が異なっていることがわかります。これは、キャンバス上の最小集約レベルは「都道府県」ですが、EXCLUDEによって「都道府県」の集約単位が無視されているためです。
EXCLUDEの値が本当に合っているか確認してみます。
関西地方の平均売上は24,306.407859889となっています。
参考資料の[地域単位の売上]シートを見てみましょう。
このように同じ値になっていることがわかります。
以上が、EXCLUDEについて解説でした。
最後に
私は上記の形でLODについて理解しました。皆さんの少しでも助けになれたら幸いです!!
ではぽこぽこ〜👋