Dateフィルターされた期間内の最新スコアを出す方法

Dateフィルターされた期間内の最新スコアを出す方法 Tableau-id Press -タブロイド- |
Latest Sales_Ranking

Dateフィルターされた期間内に最新スコアを出したい時に、普段Max(Date)でフィルターを設定すれば簡単に出来ると思われるが、実際に簡単ではありません。実際に私の経験からどういう問題が起こったか及び、解決策を紹介したいと思います。

目的:TableauのSample – Superstoreデータを使って、Salesの折れ線グラフと最新期間のスコアのビューを作りたい

オプトイン 1: 「上位」フィルターを活用する

先ず、地域ごとのSalesの折れ線グラフを作成した。

そして、新しいシートで、Order Dateを「フィルター」に入れて、「全般」と「上位」の両方に下記のように設定しました。

それから、Regionごとの色付け棒グラフと最新のSalesの2つのシートを作成し、それぞれにSum(Sales)の降順で並び替えて、アウトプットに近いダッシュボードを作りました。

ところが、Order Dateのフィルターに最新期間を2020.12 ➝2020.09にずらして見ると、右側のランキングがなくなりました!?

この問題の原因はフィルターにある「上位」のフィルターと日付範囲のフィルターの関係です。Tableauに先に日付範囲をフィルターしてから、MAX(Order Date)をゲットするという順番を設定するために、日付範囲のOrder Dateをコンテキストを入れて、同時に「上位」設定したOrder Dateフィルターをコンテキストから除外しないといけません。

そして、もしカテゴリーごとにOrder Dateの範囲が異なる場合、CategoryとSub Categotyもコンテキストに追加する必要があります。

すると、問題が解決され、欲しいビューが出来上がりました!

オプトイン2: LOD - FIXEDを活用する

コンテキストフィルターと普通のフィルターの関係で上手くいかない場合、もう1つの方法があります。LODのFIXEDを使うことです。下記のように計算フィールドを作成しました。

それから、先と同じようにRegionごとの色付け棒グラフと最新のSalesの2つのシートを作成しました。それぞれに、MAX(Sales)で降順に並び替え、日付範囲のOrder Dateをコンテキストを入れ、ダッシュボードを作ったら完成です!

LODを使うとワークブックが重くなりクエリ時間がかかるかもしれないので、持ってるワークブックによって、どちらかを活用することを考える方が良いと思います。