Tableauは最新の年月や相対日付によるフィルターができ、非常に便利です。
徐々にデータが更新される場合でも、常に最新月の数値を表示し続けるシートが簡単に作れます。
最新の単一日付にフィルタリングする | Tableau Software
フィルターなしで最新月の値を出したい
しかし一方で、フィルターをかけずに最新月のデータを表示したい!という時もあります。例えば、異なる時期の合計値の比較をしたい以下の場合などが該当します。
- 最新月の合計 / 今年度の合計
- 今年の合計 / 前年の合計
どちらの数値も単体ならフィルターで簡単に出せますが、2つを比較しようとするとフィルターが邪魔になってきます。
フィルターの代わりにIF文を使う
というわけで、フィルターなしで数値を出すにはIF文による条件分岐を使います。今回は、もし所定の条件に合致したら数値、合致しなかったら0を返す、というシンプルな式を作ります。
まずは年月の項目を作っておきます。日付項目を右クリック > 作成 > カスタムの日付 を選びます。
これで年月を作っておきます。後から使い回せて楽です。
あとは最新年月なら数値を返す式を書きます。FIXEDはシート内の項目に関係なく、指定した項目を使って計算する関数です。ここでは、データ全体を通して最新の年月を計算させています。
//年月が最新(MAX)の年月と一致したら売上を表示
IF [オーダー日 (年/月)]= {FIXED : MAX([オーダー日 (年/月)])}
THEN [売上]
ELSE 0
END
これと同じ要領で[オーダー日 (年/月)]の部分を変えれば最新年、年度の値を求めることもできますし、IF以降の条件を変更して、指定カテゴリや地域の値だけ表示など様々な応用が可能です。
計算だけで簡単に年度を出す方法は以下記事をどうぞ。
まとめ
フィルターなしで数値を出すときにはIF文が非常に便利です。ただし、裏では条件式に該当したかどうかの計算が走っていますので、件数やパフォーマンスは気にする必要があります。
今回はDesktopでの計算方法にしましたが、日付計算・FIXEDはもちろんPrep Builderでもできますので、あらかじめそちらで下処理してしまうのもありですね。