ねこ吸いたい

勉強と読書記録など

【Tableau Tips】フィルターなしで別時期の数値を比較する

Tableauは最新の年月や相対日付によるフィルターができ、非常に便利です。

徐々にデータが更新される場合でも、常に最新月の数値を表示し続けるシートが簡単に作れます。

最新の単一日付にフィルタリングする | Tableau Software

 

フィルターなしで最新月の値を出したい

しかし一方で、フィルターをかけずに最新月のデータを表示したい!という時もあります。例えば、異なる時期の合計値の比較をしたい以下の場合などが該当します。

  • 新月の合計 / 今年度の合計
  • 今年の合計 / 前年の合計

どちらの数値も単体ならフィルターで簡単に出せますが、2つを比較しようとするとフィルターが邪魔になってきます。

 

フィルターの代わりにIF文を使う

というわけで、フィルターなしで数値を出すにはIF文による条件分岐を使います。今回は、もし所定の条件に合致したら数値、合致しなかったら0を返す、というシンプルな式を作ります。

まずは年月の項目を作っておきます。日付項目を右クリック > 作成 > カスタムの日付 を選びます。

 

これで年月を作っておきます。後から使い回せて楽です。

あとは最新年月なら数値を返す式を書きます。FIXEDはシート内の項目に関係なく、指定した項目を使って計算する関数です。ここでは、データ全体を通して最新の年月を計算させています。

FIXED 詳細レベルの式 - Tableau

 

//年月が最新(MAX)の年月と一致したら売上を表示

IF [オーダー日 (年/月)]= {FIXED : MAX([オーダー日 (年/月)])}
THEN [売上]
ELSE 0
END

 

これと同じ要領で[オーダー日 (年/月)]の部分を変えれば最新年、年度の値を求めることもできますし、IF以降の条件を変更して、指定カテゴリや地域の値だけ表示など様々な応用が可能です。

計算だけで簡単に年度を出す方法は以下記事をどうぞ。

neko-suitai.hateblo.jp

まとめ

フィルターなしで数値を出すときにはIF文が非常に便利です。ただし、裏では条件式に該当したかどうかの計算が走っていますので、件数やパフォーマンスは気にする必要があります。

今回はDesktopでの計算方法にしましたが、日付計算・FIXEDはもちろんPrep Builderでもできますので、あらかじめそちらで下処理してしまうのもありですね。