1. はじめに|「1つ前の値」を取得するシーンとは?
Tableauを使ったデータ分析で、「前の月の値」や「前の行の数値」を使って計算したい場面は少なくありません。特に、次のような用途に活用されます。
🔍 よくあるユースケース
-
前月比・前週比の計算
-
売上の増減トレンド
-
時系列グラフでの変化分析
-
累積グラフとの比較
-
ランキングや順位の変化追跡
このような時に役立つのが、**Tableauの「LOOKUP関数」**です。
2. 「1つ前の値」を取得する基本:LOOKUP関数とは?
Tableauにおける「1つ前の値」は、LOOKUP関数を使って取得するのが最も一般的です。
✅ LOOKUP関数の構文
-
LOOKUP
:指定したフィールドの相対的な位置の値を返す関数 -
-1
:1つ前の値を取得(+1は1つ後)
例:売上の1つ前の値を取得する
この式は、現在の行の1つ前の行の売上合計を取得します。
3. 実践:1つ前の売上との差(前月比)を出す方法
では実際に、Tableauで「前月比」を表示する具体的なステップを解説します。
✅ ステップ1:データの準備
以下のような「月別の売上データ」をTableauにインポートします。
月 | 売上 |
---|---|
1月 | 1000 |
2月 | 1200 |
3月 | 900 |
✅ ステップ2:売上合計をシートに配置
-
「列」→
月
-
「行」→
SUM(売上)
これで通常の折れ線グラフや棒グラフが表示されます。
✅ ステップ3:「1つ前の売上」を計算する
-
新しい計算フィールドを作成
-
以下の式を入力:
-
このフィールドに「前月売上」などの名前をつけて保存
✅ ステップ4:「前月比(差分)」を作成
再度、計算フィールドを作成し、以下のように設定します。
これで、「当月売上 − 前月売上」という変化量が計算されます。
✅ ステップ5:表示形式を調整
-
このフィールドを棒グラフやラベルに追加
-
「%表示」をしたい場合は以下のような式で割合も出せます:
※0除算に注意する必要があるので、IF文で制御してもOKです。
4. 表計算の設定を見直そう:正しく動かすための並べ替えとパーティション
LOOKUP関数は、表示中のテーブル順に依存するため、順番や粒度が異なると意図しない値になることがあります。
✅ テーブルの並び順が重要!
例:月別のデータが「1月 → 2月 → 3月」と並んでいないと、LOOKUP()
の-1は前月を取得しません。
→ **「並べ替え」や「ディメンションの順序設定」**を確認し、時系列に正しく並んでいるかを必ずチェックしましょう。
✅ 表計算の編集で粒度を調整
-
LOOKUP()
フィールドの右クリック→「表計算の編集」 -
「計算の方向」を「指定のディメンション(例:月)」に設定
-
パーティションを「すべてのデータを対象」にするか、カテゴリ単位で分けたい場合は「カテゴリ単位」にする
これにより、「どの単位で1つ前の値を見ていくか」が明確になります。
このように、LOOKUP関数と表計算の設定を組み合わせることで、正確な「1つ前の値」取得が可能になります。
5. 複数カテゴリで「1つ前の値」を取得する方法
多くの実務データでは、「年月」だけでなく「製品カテゴリ」や「部署」など複数のディメンションが絡むケースが一般的です。
たとえば、各カテゴリごとの月別売上変化を見たいとき、単純な LOOKUP(SUM([売上]), -1)
では意図した結果が得られないことがあります。
✅ 解決方法:「表計算のパーティション設定」
-
LOOKUP
関数を使用した計算フィールドを作成 -
グラフ上で右クリック →「表計算の編集」
-
「計算の適用先(ディメンション)」に月とカテゴリの両方が含まれるように調整
-
「パーティション」はカテゴリごと、「方向」は月の昇順に設定
これにより、カテゴリごとに独立した前月比較が可能になります。
✅ 補足:カテゴリ別の差分計算式
NULLチェックを入れることで、初月の「前月値=存在しない」問題に対応できます。
6. よくあるエラーとその対処法
❗ 表示されない・NULLになる
-
原因:
LOOKUP
関数は「存在しない行」の値を取得しようとするとNULLを返す。 -
対処:
IFNULL
やZN
で0補完、または条件付きで非表示制御。
❗ ソート順で結果が狂う
-
LOOKUP
は表示順に依存するため、並び替えやフィルターがずれていると「前の値」にならない。 -
解決策:並び順を「月の昇順」など明示的に指定し、ディメンションの順序も確認。
❗ フィルターとの相性が悪い
-
通常のフィルターは
LOOKUP
の参照対象そのものを消してしまう。 -
解決策:コンテキストフィルターや、LOD(Level of Detail)計算を使って影響を最小限に。
7. 応用:前年同月との比較を行うには?
LOOKUP
関数は相対行を参照するため、「前年同月比」など時間間隔が広い比較も可能です。
✅ ステップ
-
データに「年月(例:2023年1月)」を追加
-
年単位で「12ヶ月前のデータ」を取得するには:
-
差分・成長率を計算:
-
表計算の設定で、「月順+カテゴリ順」に並べ替え必須。
8. 実務での活用例|可視化とレポートに活きる
📈 ダッシュボード:トレンドと差分の同時表示
-
折れ線グラフで売上推移+下に前月比の棒グラフを配置
-
視覚的に「上がった・下がった」がわかりやすくなる
-
差分ラベルに色(増=青、減=赤)をつけてインサイト強調
💡 マーケティング分析での使い方
-
コンバージョン数やCPAの前月比、広告チャネル別の変化を確認
-
ROIの改善状況を「比率」で評価
💼 人事レポート
-
各部署の離職者数・残業時間の「前月差分」を自動計算し、人事会議で報告
-
異常値をアラート付きで表示することも可能
9. LOOKUP関数と他の関数の違い・使い分け
関数 | 用途 | 特徴 |
---|---|---|
LOOKUP |
相対位置の値を取得 | 時系列比較・差分計算に最適 |
PREVIOUS_VALUE |
前行の計算結果を参照 | 累積などの逐次処理に使う |
WINDOW_SUM |
範囲の合計 | 移動平均や直近〇ヶ月合計に便利 |
INDEX |
行番号を取得 | フィルタやランキングの制御に |
10. まとめ|Tableauで「1つ前の値」を正確に扱うためのポイント
Tableauで「1つ前の値」を取得する技術は、ビジネスにおける変化の見える化に欠かせない重要スキルです。
✅ 成功するためのチェックリスト:
-
LOOKUP
関数は相対的に値を取得できる強力なツール -
表計算の設定で**「順番」や「パーティション」の指定が必須**
-
複数カテゴリ・月・年など、粒度の意識がトラブルを防ぐ
-
NULL処理や並べ替え順を丁寧に管理することで正確な値を表示できる
-
差分・前年同月比・ダッシュボード連携で実務レベルの分析が可能
データを「ただ見る」のではなく、「どう変化したか」を理解するために、LOOKUP
関数と「1つ前の値」の活用は大きな武器となります。
今後、より高度な分析や自動レポートに取り組む際の基礎スキルとして、ぜひマスターしておきましょう。
コメント