【Tableau Tips】LOD:EXCLUDEをもっと使おう
Web担当のtomoです。
実務で使われている方はLOD(Level Of Detail)はものすごくよく使うと思います。TableauDeskTopCertifiedAssociateの試験問題にも必ず1問は出てきますが、たぶん「FIXED」が一番使われているのではないでしょうか。
今回はLODの中でも敬遠されがちな「EXCLUDE」にスポットを当てていきたいと思います。理屈がわかればメンテナンス性を考えるとこちらを使ったほうがよいのでは?と思うはずです。
例題
上司からこのようなオーダがあったとします。
・いろいろな角度からの売上割合が見たい。まずは地域・都道府県別で見たい。
・切り口の最小単位は【都道府県】
・データソースはおなじみ「サンプルスーパーストア」
FIXEDの場合
都道府県の売り上げ/地域ごとの売上げの割合が見たい、というオーダがあったので、【地域(ここでは四国、北海道)】でそれぞれの地域ごとの売り上げをFIXEDで出します。
{ FIXED [地域]:SUM([売上])} //地域ごとの売り上げ(FIXED)
SUM([売上])/SUM([地域ごとの売り上げ(FIXED)]) //地域を占める売上割合
地域ごとの都道府県別の売上割合は正しく計算されています。
これでレポートを提出すると、上司から
「ちょっと粒度が荒いなー。顧客区分ごとの割合も見たいので出してくれ」
と言われました。
単純に行に「顧客区分」を追加しても、当然「FIXED」は地域しか固定していないので、「顧客区分」は無視されて合計されます。なので、必然的に計算フィールドも変更することになります。
{ FIXED [地域],[顧客区分]:SUM([売上])} //地域ごとの売り上げ(FIXED)
正しく表示されるようになりました。
ですが、実際の業務で視点や切り口を変えてインタラクティブに分析するとき、FIXEDで固定しているとこのような誤った結果を生んでしまい、ミスリードする恐れもあります。
コロコロ切り口が変わる場合は、「EXCLUDE」と使った方が汎用性があります。
EXCLUDEの場合
EXCLUDEを使う判断基準としては個人的には「切り口の最小単位が変わらない場合」という条件下で使うようにしています。
結局「EXCLUDE」って「その条件以外は無視する」ということなのですから、要は「都道府県の〇〇が見たい」という目的のVizなのだから、都道府県以外は臨機応変にTableauにお任せしちゃおう♪ということですね。(ちょっと乱暴ですが・・^^;)
同じように都道府県の売り上げ/地域ごとの売上げの割合が見たい、というオーダがあったので、EXCLUDEを使って以下の計算フィールドを作ります。
{ EXCLUDE [都道府県]:SUM([売上])} //都道府県以外除外した売り上げ(EXCLUDE)
SUM([売上])/SUM([都道府県固定の売り上げ(EXCLUDE)]) //都道府以外除外した売上割合(EXCLUDE)
FIXEDのときと同じ結果が返ってきました!
<比較結果↓>
では、同じように「顧客区分」を入れてみます。
行を追加するだけで、計算結果が変わり、地域ー顧客区分ごとの正しい割合が出るようになりました。
FIXEDと同じ結果になります。
<比較>
極端な話、「地域」が行列から削除された場合は、FIXEDは何の意味もなさなくなりますが、EXCLUDEなら違うディメンションで臨機応変に都道府県という最小単位を保ちつつ集計をしてくれます。
このように意外と使えるEXCLUDEなので、今FIXEDを乱発してメンテが大変になっている場合はEXCLUDEを使う設計も検討してはいかがでしょうか。
EXCLUDEの注意点(良いやり方募集中!)
画像を見てお気づきの方がいたかもしれませんが、、、EXCLUDEを使うと、「合計」がうまく出せないです。都道府県という除外条件がなにもないから「*」になってしまうのだと思いますが、クロス集計表とかの場合は、Excel慣れしてる方たちからは「どうにか合計・総計が出ないか」といったオーダを頂くことも多いです。
こちらはどなたが良いやり方あればまたSNSでご教示ください!(><)
この記事が気に入ったらサポートをしてみませんか?