見出し画像

Tableau×落とし穴 ~メジャーのディメンション化フィルタ~

DataSaberBridgeの中間試験の解法を同期とディスカッションしている中で、挙動がおかしい部分が出てきたので検証してみました。

検証内容

メジャーをディメンション化したグラフでアクションフィルターをかけた場合、対象をもれなく捕捉できているか。

具体例

利益をディメンション化して、ある空間グループの利益を選択できるようにして、当該グループの売上をカテゴリ別に可視化する

2シート(左側)作って、ダッシュボード(右側)にまとめます

カテゴリ別の売上のテキストで、フィルタがかかっていない状態の売上を表示させています。
利益のディメンションですべて選択できていれば、売上の数値は変わらないはずです。

フィルタ前

利益のディメンションには5581個のマークがあります

フィルタ後

選択しているマーク数も5581個、すべてのマークを選択しているように思えます

フィルタから漏れている利益は?

明細レベル(行レベル)で確認します。
利益のディメンションを1つずつ選択していき、対応する明細が表示されるかを確認します。

利益は見やすいように形状●にして、右端に明細

その際、以前の記事(Tableau×落とし穴 ~小数点~)でメジャーフィルタの挙動を検証した際の技(STR(利益))で小数点以下の厳密な利益も表示させます。
画像では4件ほど小数点以下がある明細が見えています。この辺、怪しいです(笑)

上から順々に選んでいきます。


正しくフィルタできています
売上、明細がいなくなりました!

以下、力続く限り1つずつ選択し続けました。
結果をお伝えすると、小数点以下の端数のないディメンション利益は正しく捕捉できましたが、小数点以下がある場合は、一部を除き捕捉できませんでした。

小数点以下がある場合はオレンジ色


売上はフィルタ前後で一致しています
売上がフィルタ前後で変わりました

仮説・・・は立たず(小数点絡みだとは思う)

メジャーをディメンション化した場合、小数点以下の端数があるときの挙動がおかしい、というところまでは判明。
しかし、メジャーフィルタが小数点第2位で四捨五入した後の数字でフィルタをかけているのでは、といった整合的な仮説をまだ見つけ出せていません。
小数点の最後の桁を四捨五入、とか、小数点第2位までである条件を満たしている、とか色々考えているのですが・・・。

とりあえずの結論

少なくとも以下のことは言えます。

アクションフィルタの結果が報告数値になるような場合、正しい対象に漏れなくフィルタがかかっているかはちゃんと検証しましょう。

この記事が気に入ったらサポートをしてみませんか?