Tableauで「前年比・前月比・増減率」が出せない理由とその対処法

Tableauで「前年比を出したい」「前月比を見たい」と思って計算式を組んでみたものの、値がズレる・NULLになる・うまく比較できない——。
そんな経験はありませんか?

この記事では、「なぜうまく出せないのか?」という根本的な問いから出発し、Tableauで前年比・前月比・増減率(YoY / MoM / 成長率)を正しく算出する方法を、失敗例・対処法・応用事例まで含めて解説します。

目次

なぜ前年比がうまく出せないのか?

多くの人が陥るのは、LOOKUP関数で前年を参照しようとして、意図した行を取れていないというケースです。たとえばこの式:

LOOKUP(ZN(SUM([売上])),-1)

確かに「1つ前の値」を取りますが、**“何に対して1つ前か”は表計算の設定で決まります。**つまり、ここがズレているとまったく意味のない比較になってしまいます。

前年値の計算フィールド
※ 表計算適用中のマークがポイント

「前年」か「前月」かを決めるのは“表計算の粒度”

LOOKUP関数は直前の行を見るだけです。
「それが前年なのか、前月なのか」は、表計算の粒度設定で決まります。

表計算の編集画面
※ 比較単位を明示しなければ意図通りに動かない

具体的には:

  • 年単位で集計していれば → 前年比(YoY)
  • 月単位で集計していれば → 前月比(MoM)
  • 日単位で集計していれば → 前日比(DoD)

並び順にも要注意です。降順にすると「前年」ではなく「翌年」を取ってしまいます。

表計算設定画面

1. 前年比(YoY)を算出する:基本式とその意味

前年比は、「前年と比較してどれだけ達成したか」を測る指標です。売上やKPIなど、ほぼすべてのビジネス指標で使われます。

ZN(SUM([売上])) / LOOKUP(ZN(SUM([売上])), -1)

Tableau上でこの式を使い、パーセント表示に設定すれば完了です。

前年比計算式の可視化

よくあるユースケース:

  • 月別売上と前年同月比を重ねて表示(棒グラフ+折れ線)
  • KPIダッシュボードで前年比を信号色(赤・緑)で表示

2. 増減率(成長率)との違いとその出し方

前年比と混同しやすいのが「増減率(成長率)」です。

指標計算式意味
前年比今年 ÷ 昨年達成率を測る
増減率(今年 − 昨年)÷ 昨年成長の割合

安全な式はこちら:

(ZN(SUM([売上])) - LOOKUP(ZN(SUM([売上])), -1)) / ABS(LOOKUP(ZN(SUM([売上])), -1))

成長率のユースケース:

  • 部門別の売上成長率をランキング形式で可視化
  • 増加率が高い順に並び替えて注目カテゴリを把握

3. 前月比(MoM)を出すには?

前月比は「今月の数値が前月と比べてどうか」を見る指標。
計算式自体は前年比と同じですが、粒度設定を「月」にするだけでMoMになります。

ZN(SUM([売上])) / LOOKUP(ZN(SUM([売上])), -1)

MoMのユースケース:

  • ECサイトの月次売上で、前月比がマイナスのカテゴリを赤表示
  • 前月比20%以上の増加を検知してSlack通知

4. よくあるエラーとその対処法

  • 表の並び順が逆 → 「前年」ではなく「翌年」を取ってしまう
  • NULLを除外していない → 割り算エラーになる
  • 日付が連続で並んでいない → 正しい比較ができない

対策まとめ:

  • ZN()でNULLを0にする
  • ABS()で割り算を保護する
  • 粒度設定と並び順を毎回確認する癖をつける

5. 応用Tips:Tableauで比較分析をもっと柔軟に

  • IF LOOKUP(...) > 1 THEN '成長' ELSE '減少' END:成長・減少で色分け
  • WINDOW_SUMと組み合わせて3ヶ月前対比
  • パラメータで「前年比 / 前月比 / 前週比」などをユーザーに選ばせる

6. ダッシュボード応用例:実践シナリオで学ぶ

マーケティング部門向け:

  • KPIを「当月売上」「前月比」「前年同月比」で3指標並列表示
  • カテゴリ別フィルターで深掘り分析
  • 月次会議でそのまま使えるレポートに最適化

経営層向け:

  • 棒グラフで実数表示+折れ線でYoY達成率を重ねる
  • 達成率80%未満に赤マークを付与
  • フィルターやパラメータで「今期/昨期」の範囲切替可能

7. INDEX・PREVIOUS_VALUEとの違い

関数名特徴よく使う場面
LOOKUP任意のオフセットで前行・次行を参照前年比・前月比・比較分析
INDEX現在の行番号(1,2,3…)を返すランキングや並び順制御
PREVIOUS_VALUE直前に返した値を記憶して使用累積・差分計算などのステップ演算

前年比や前月比には、必ずLOOKUPを使うのが基本です。INDEXやPREVIOUS_VALUEでは目的に合いません。

8. FIXEDとの違い:LOD表現との使い分け

TableauにはLOOKUPのような表計算関数とは別に、FIXEDを使ったLOD(Level of Detail)表現もあります。これらの違いを正しく理解することで、より柔軟で堅牢な分析が可能になります。

比較項目LOOKUP関数FIXED LOD式
処理タイミング表計算フェーズ(表示後)集計フェーズ(表示前)
相対位置参照可能(-1行前など)不可(固定集計のみ)
フィルターの影響表に表示されているデータに依存FIXEDはフィルターの影響を受けない(計算順により)
用途前月/前年比較、時系列比較などセグメント集計、ユーザー単位のKPI固定など

LOOKUPは**「表示順に依存する計算」、FIXEDは「集計ロジックを固定したいとき」**に使うのが基本方針です。


LOOKUPは強力な関数ですが、表計算設定とワンセットで使ってこそ意味があるものです。

繰り返しになりますが、ポイントは:

  • 粒度(年・月・日)を明確に設定
  • 並び順を昇順に固定
  • NULL処理と安全な除算を組み合わせる

これさえ守れば、Tableauでの時系列比較は完全にマスターできます。

Comment

コメントする

目次