はじめに
ウォーターフォール(橋渡し)チャートは、「合計がどの要因でどれだけ増減したか」を一目で伝える定番可視化。ここでは売上・原価・販管費など複数の数値項目を“1枚”に連結するために、データ整形 → 計算式 → ビュー作成 → 小計 → 運用までを迷わず実装できるよう、手順とコピペ用コードをまとめます。
完成イメージ:
開始値(前期合計や0) → 増減要因(収益=+/費用=-) → 小計 → 終了値(当期合計)
・色で方向、高さでインパクト、順序でストーリー
・部門/地域/期間などをパラメータ切替で再利用
1. 設計思想:順序づけられた“差分”を積む
-
ステップ(Step):棒の並び順。開始→要因A→要因B→…→小計→終了
-
デルタ(Delta):各ステップの増減量(収益は+、費用は-など符号ルールを固定)
-
累積(Running):左から合算した着地点
-
小計(Subtotal):区切りの着地を明示
-
軸と粒度:部門×期間など、どこで累積をリセットするかを先に決める
重要:合計の差 = 各デルタの総和。符号と順序のルール化が最優先。
2. データ整形(最重要):縦持ち+順序管理
横持ち(売上/売上原価/販管費…が列)を縦持ちにします。
期間 | 部門 | 項目 | 金額 | 方向 | ステップ順 | グループ | 小計フラグ |
---|---|---|---|---|---|---|---|
2025-06 | A | 売上 | 12000 | + | 10 | 収益 | 0 |
2025-06 | A | 売上原価 | 7000 | − | 20 | 費用 | 0 |
2025-06 | A | 販管費 | 3000 | − | 30 | 費用 | 0 |
2025-06 | A | 収益小計 | 12000 | = | 15 | 収益 | 1 |
2025-06 | A | 営業利益 | 2000 | = | 40 | 着地 | 1 |
-
方向:+(収益)/-(費用)/=(小計・終了)
-
ステップ順:棒の並びを整数で明示
-
小計フラグ:1=小計(着地点表示に使う)
-
グループ:収益・費用など(小計を挟むとき便利)
メリット:1列の金額+カテゴリに統一することで、複数指標を一貫処理。TableauのピボットでOK。
3. 基本の計算フィールド(コピペ可)
[金額]
:縦持ち後の値。[方向]
:’+’/’−’/’=’。
// 1) デルタ(棒の高さの元)
[デルタ] =
IF [方向] = '+' THEN SUM([金額])
ELSEIF [方向] = '−' THEN -SUM([金額])
ELSE 0 // 小計・終了はデルタに含めない
END
// 2) 累積合計(左→右のランニング)[累積] = RUNNING_SUM( ZN([デルタ]) )
// 3) 開始位置(ガント棒の基準)[開始位置] =
IF [デルタ] >= 0 THEN [累積] – [デルタ] ELSE [累積] END
// 4) 増減フラグ(色分け)
[増減] =
IF [デルタ] > 0 THEN ‘増’
ELSEIF [デルタ] < 0 THEN ‘減’
ELSE ‘着地’
END
// 5) ラベル値(小計は累積を見せる)
[ラベル値] =
IF [小計フラグ] = 1 THEN [累積] ELSE [デルタ] END
表計算の設定が命:
[累積]
と[開始位置]
は表計算。計算の編集で
アドレス(計算方向)=
[ステップ順]
パーティション(再開始)=
[期間]
×[部門]
等を指定。
4. ビュー作成の最短レシピ
-
列に
[ステップ順]
(離散)、行に[開始位置]
-
マーク=ガント棒、サイズに
ABS([デルタ])
-
色に
[増減]
、ラベルに[ラベル値]
-
軸のゼロ線・罫線・桁区切り(#,###;−#,###)を整える
-
ツールチップに「項目/デルタ/累積/構成比」を簡潔表示
仕組み:開始位置 + サイズ = ガント棒。増は上、減は下に伸びる。
5. 代表シナリオ3選
5-1. P/Lブリッジ(収益→費用→利益)
-
開始値:0(または前期利益)
-
増減:売上(+)、原価(-)、販管費(-)…
-
終了:営業利益(=/小計)
方向だけ合えば、複数指標はそのまま一枚へ。
5-2. 期間ブリッジ(前年→当年の要因分解)
「差分 = 単価効果 + 数量効果 + ミックス効果 + 値引 + 新製品 + 為替…」
厳密計算はETLが最速ですが、Tableau概念実装の例:
[単価効果] = SUM( ([単価_当年] - [単価_前年]) * [数量_前年] )
[数量効果] = SUM( [単価_前年] * ([数量_当年] - [数量_前年]) )
[ミックス効果] = SUM( ([単価_当年]-[単価_前年]) * ([数量_当年]-[数量_前年]) )
これらを縦持ち(項目=単価効果/数量効果/…、金額=値)すれば基本レシピでOK。
5-3. グループ小計の二段構成
収益ブロック→収益小計→費用ブロック→費用小計→最終着地。
最も簡単なのはデータ側に小計行を追加。追加不可なら、FIXED
LODでグループ合計を出し、スキャフォールド(骨組み)で“小計ステップ”を生成してRelationshipで重ねる手も。
6. つまずきポイント & 処方箋
-
開始位置がズレる:表計算のアドレス=[ステップ順]、パーティション=[期間]×[部門]。
ZN()
でNull防止。 -
着地と合計が合わない:費用の符号ミス/小計をデルタに混入。小計はデルタ0+ラベル累積。
-
列順が勝手に変わる:並びは**
[ステップ順]
(離散)**を基準に。手動ソートは極力使わない。 -
JOINで行爆発:Relationship優先。やむを得ずJOINなら行数チェック。
-
項目が多すぎ:上位N/下位Nをパラメータ化、残りは「その他」へ集約。
-
ゼロ割・Null:
ZN([金額])
/IFNULL
で前処理。
7. 仕上げのUI/UX
-
色:増=濃、減=薄など明暗で方向強調。小計・終了は中立色。
-
ラベル:通常=デルタ/小計・終了=累積。桁区切りと単位(万円/千円)を統一。
-
参照線:目標、前年着地を参照線で追記すると“差の意味”が瞬時に通じる。
-
ツールチップ:
<項目> / Δ=<デルタ> / 着地=<累積> / 構成比
を簡潔に。 -
凡例:「増・減・着地」を現場の言葉に合わせて表記。
8. パラメータで“切替可能”に(応用)
分析軸を切替えると1枚で現場運用が回るようになります。
-
文字列パラメータ
[軸選択]
:’部門’/’地域’/’チャネル’ -
計算フィールド:
[軸(選択)] =
CASE [軸選択]
WHEN '部門' THEN [部門]
WHEN '地域' THEN [地域]
WHEN 'チャネル' THEN [チャネル]
END
-
表計算のパーティションに
[軸(選択)]
を含めて累積の再開始を制御。
9. 運用設計:速さと品質の両立
-
抽出(Hyper)増分更新:期間キーで直近N日のみ再取込
-
データ品質監視:行数差分/Null率/費用の符号エラー
-
定義の可視化:データソース説明に「収益=+/費用=-/小計はデルタ0」等を明記
-
権限/RLS:ダッシュボードは閲覧専用、データソース編集を限定。RLSで担当者・エリアを制限。
10. 15分チェックリスト(最低限の型)
-
☐ 縦持ち:項目/金額/方向/ステップ順/小計フラグ
-
☐ 計算:
[デルタ] / [累積] / [開始位置] / [ラベル値]
-
☐ 列=
[ステップ順]
、行=[開始位置]
、ガント棒+サイズ=ABS(デルタ) -
☐ 色=
[増減]
、ラベル=[ラベル値]
、ツールチップ整備 -
☐ 表計算:アドレス=
[ステップ順]
、パーティション=[期間]×[軸]
-
☐ 小計はデルタ0/ラベル=累積、終了値も同様
-
☐ 参照線・凡例・書式で読みやすく
11. まとめ
-
勝負の8割はデータ縦持ちと**符号(方向)+順序(ステップ順)**のルール化。
-
Tableau側は開始位置(ガント基準)+サイズ=ABS(デルタ)で安定動作。
-
小計はデルタに混ぜない(ラベルで累積を見せる)。
-
P/L、期間要因、二段小計…複数指標を1枚にまとめるほど意思決定が速くなる。
-
最後は表計算の範囲設定と並び順の固定。ここを外さなければ崩れません。
📩 専門コンサルタントに相談してみませんか?
Tableauのライセンス選定や運用設計に少しでも不安がある方は、一度プロに相談してみるのがおすすめです。
-
どのライセンスを選べばいいか分からない
-
導入したものの活用しきれていない
-
Power BIとの違いを整理したい
当社ではTableau導入から定着・活用まで一気通貫で支援します。業種・業務フローに応じた最適設計をご提案可能です。
▶ 詳細なサービス内容やご相談希望の方は、専用ページをご覧ください。(クリックしてください))
相談は無料です。お気軽にご連絡ください。
コメント