Tableau よく聞かれる質問より ⑤
こんにちは
tab_usaと申します。
仕事がらTableauのデモをすることがしばしあり、その際、お客様からよくご質問されるものをブログにて残していこうかと思います。
Tableauに興味がありながらも、なかなか一歩踏み出せない方などの、ご参考に少しでもなれば幸いです。
目次
- ご質問内容
- 回答
1. ご質問内容
今回のご質問は、少し専門性が高いご質問でしたが、Tableauを理解する上で重要な
コンテキストフィルターに関することなので、記載しようかと思います。
「売上実績のない会員を除いてデシル分析(※)をしたいが、どのようにやるのか?」
というご質問を受けました。
お客様からは更に「単純にフィルターをかければいいのかと思っていたが、通常のフィルターではデシルのランク分けの計算の後にフィルター処理されるので、売上が一番小さい10番目のランクの人数が減るだけなので、うまいやり方を教えてほしい」とお話をいただきした。
因みにですが、デシル分析とは、購買履歴データをもとに全顧客の購入金額を高い順に10等分して、各ランク(デシル1~10)の購入比率や売上高構成比を算出する分析方法のことです。 少し難しいですね。デシル分析の方法については、こちらの説明もご参考ください。
https://kb.tableau.com/articles/issue/creating-a-decile-of-measure-dimension?lang=ja-jp
2. 回答
試しに、おなじみのサンプルスーパーストアのデータで購入額1万円未満の顧客を除外したデシル分析を行って見ました。
やはり通常のフィルターではランク10の人数だけが減ってしまいます。
購入額1万円以上の顧客を対象にして十等分したければ、計算フィールドで行っている
ランク計算が行われる前に、フィルター処理をする必要がありますよね。
ここで重要になるのがフィルターの順序となります。
https://help.tableau.com/current/pro/desktop/ja-jp/order_of_operations.htm
Tableauのフィルターの順序は下図のようになっています。
先順序でフィルターをするコンテキストフィルターを使えば、ランク計算前に除外ができそうです。
フィルターをコンテキストフィルターへ変更するには、既にフィルターに入ってるフィルターを右クリックし、[コンテキストに追加]とするだけです。
こうすると、目標どおり購入額1万円未満の6名を除いて十等分されたランク分けができました。
Tableauのようなツールを使う場合、処理がどのような順序で実行されるのかは見えにくいため、フィルターの順序はぜひ覚えておいて頂きたいノウハウとなります。