最新の日付に対する前◯比

人生における今日は、いつも過ごしてきた過去の集積
- グランマ・モーゼス -

KPIダッシュボードや、モニタリングダッシュボードを作る際に、求められることが多いのが、最新日付に対する前◯比です。

例えば週次で確認するダッシュボードでは、上部のサマリの中で、当週(=データ内の最新週)の値を表示し、比較値として前週との差や比を出すとわかりやすいですね。
図1

しかし、最新日付の値と、その前の値との比較計算値を同時に出すためには、ひと工夫が必要です。

以前、こちらの『Tableauで前◯比(前年、前月、前週…)を表示する方法』でも紹介しましたが、前◯比を表示するためには、最新日付の値と比較する前の値を同時に持っておく必要があります。

そのため、日付フィルタ(不連続)で最新の日付だけに絞ってしまうと、最新日付の値は表示できても、前◯比の値を表示できなくなります。

⇣最新の日付のみに絞ってしまうと…
図2

⇣前◯比が表示されなくなってしまう(フィルタで絞ったので前の値を持ってこれなくなった)
図3


そこで今回はこのような問題を解決する手段の1つとして、表計算のLAST関数を使う方法をご紹介します。


LAST関数とは

では具体例として、最新週の販売数量と、その前週差を表示してみたいと思います。

LAST関数は表計算の指定した方向でLAST(=最終地点)から数字を順番に振っていく表計算の関数です。計算式では以下のように書きます。

LAST()


図4

上記の例では、表計算の方向を表(横)、つまり左から右に計算していく計算においてLAST関数を使うと、計算のLASTになる部分の結果が0、以降はLASTの1つ前が1、2つ前が2…という形になっています。

日付を列や行に配置した上で、このLAST関数の結果が0になる部分だけにフィルタリングすれば、最新の値を表示できます。またLAST関数は表計算なので、通常のフィルタとは異なり、前の値を保持したままフィルタリングできるので、前◯比も表示することができます。

※表計算は「データベースが集計した後の結果を元に、Tableau内で再計算する」という機能です。通常のディメンションやメジャーのフィルターはデータベース側で行われ、その結果がTableauに渡されます。そのため、データベース側でデータを絞ってしまうので、Tableau側ではフィルタされた後の値しか参照できません。
図5



LAST関数を使って最新日付の値と前◯比を表示する

では具体例として、最新週の販売数量と、その前週差を表示してみたいと思います。

  1. 下記の計算式を準備する
    LAST() = 0

    // LAST() = 0であれば「真」、それ以外であれば「偽」が返る計算式です。


  2. 列に[オーダー日]を入れる
  3. [オーダー日]を右クリックし、「連続」の「週数」に変更する
    図6

    図7

  4. [オーダー日]を右クリックし、「不連続」に変更する
    図8

  5. [数量]をマーク内の「テキスト」に入れる
    図9

  6. 1で作成したLAST関数の計算式を「フィルター」に入れ、「真」を選択。
    ※表計算の方向は必要に応じて調整してください。
  7. [数量]をマークタイプの「詳細」に入れ、表計算で「差」を設定。
  8. 7で作成したものをテキストに入れ、大きさや書式を整えて完成!
図10


【応用編前◯比の表示

上記で作成した前◯比の表現方法は、さらに応用することも可能です。
例えば日付の範囲フィルターを追加して最新日付以外の値を見たり、前◯比の値に応じて色分けをしたり。

こちらに関しては改めて別の記事で紹介します。


まとめ

今回はLAST関数を使った前◯比の表示方法について検討してみました。
ぜひお試しください!

Tableau Public