Income Statement=PLについて、Tableauでどのように描画するのがベストでしょうか?
クロス表で描画すると以下のようになります。
※営業利益まで
営業利益までとはいえ、なんとなく味気ないというか、ぱっと見、良いのか悪いのか一瞬で理解するのは難しいですね。。。そうでもないか。。。
そこでオススメなのはウォーターフォールでの描画です。
ウォーターフォールチャート(滝グラフ)
滝グラフ(たきグラフ、英語:Waterfall chart)は、正負の値の累積的影響を判断する際に役立つ可視化用グラフである。 レンガが宙に浮いているように列が表示されることから、飛行レンガグラフ(英語:flying bricks chart)やマリオ (ゲームキャラクター)グラフ(英語:Mario chart)として知られている。金融用語で「橋」と呼ばれることも多い。戦略的コンサルティング会社であるマッキンゼー・アンド・カンパニーにより、顧客向けプレゼンテーション手法として普及した。インベントリ分析や性能解析などの多様な定量分析にて利用されている。
出典:Wikipedia https://ja.wikipedia.org/wiki/滝グラフ
目標
以下のようなダッシュボードを作成します。
データ準備
以下のような構造データを用意します。
会社コード | 会社名 | 構造コード | 構造名 | 金額 |
---|---|---|---|---|
1 | Box Code | 1 | 売上 | 1250 |
1 | Box Code | 2 | 売上原価 | 900 |
1 | Box Code | 3 | 売上総利益 | 350 |
1 | Box Code | 4 | 販売費及び一般管理費 | 500 |
1 | Box Code | 5 | 営業利益 | -150 |
・・・ | ・・・ | ・・・ | ・・・ | ・・・ |
4 | Tokyo Software | 1 | 売上 | 900 |
4 | Tokyo Software | 2 | 売上原価 | 1000 |
4 | Tokyo Software | 3 | 売上総利益 | -100 |
4 | Tokyo Software | 4 | 販売費及び一般管理費 | 300 |
4 | Tokyo Software | 5 | 営業利益 | -400 |
Desktop操作
操作の前にIncome Statementの構造の説明をします。
Box Codeを例にいたします。
構造コード | 構造名 | 金額 | 計算式 |
---|---|---|---|
1 | 売上 | 1,250 | A = 1,250 |
2 | 売上原価 | 900 | B = 900 |
3 | 売上総利益 | 350 | C = A – B = 1,250 – 900 = 350 |
4 | 販売費及び一般管理費 | 500 | E = 500 |
5 | 営業利益 | -400 | F = C – E = 350 – 500 = -150 |
売上1,250に対して、売上原価が900。
その結果、売上 – 売上原価となり、売上総利益は350となります。
また販売費及び一般管理費が500発生しています。
よって、営業利益は売上総利益 – 販売費及び一般管理費となり、-150の赤字となります。
スタートラインを設定する
上記の計算式を見ていただきましたとおり、この結果を描画する上では、それぞれの構造において、以下のようなスタートラインになるような計算ロジックを組み込むようにビジュアライズすれば良いです。
構造コード | 構造名 | スタートライン |
---|---|---|
1 | 売上 | 0 地点 |
2 | 売上原価 | 売上のトップ地点 |
3 | 売上総利益 | 0 地点 |
4 | 販売費及び一般管理費 | 売上総利益のトップ地点 |
5 | 営業利益 | 0 地点 |
スタートラインについては以下のような計算式で持って対応します
「金額スタート」という計算フィールド名にしました。
IF [構造コード]="1" THEN 0 ELSEIF [構造コード]="2" THEN { FIXED :SUM(IF [構造コード]="1" THEN [金額] END)} ELSEIF [構造コード]="3" THEN 0 ELSEIF [構造コード]="4" THEN { FIXED :SUM(IF [構造コード]="3" THEN [金額] END)} ELSE 0 END
この状態で以下の通り、Desktop上に項目をセットし、上記計算式のFIXEDの結果をフィルターするために、会社名フィルターをコンテキストに追加します。
すると選択した会社によって、スタートラインが正しい位置に固定されます。
次に自動からガントバーに変更します。
サイズバーの作成
それぞれの構造に対してのサイズバーを作成し、上昇下降度を視覚化していきます。
「金額サイズ」という計算フィールドを作成します。
IF [構造コード] = "2" OR [構造コード] = "4" THEN -[金額] ELSE [金額] END
売上原価と販売費及び一般管理費の場合はマイナス処理します。
「金額サイズ」フィールドを以下の通り、「サイズ」部分にドロップします。
すると各構造の上昇下降度について、以下の通り、視覚化されます。
バーに色をつける
続いて、バーの数値によってのグラデーション色をつけるために「金額」フィールドを「色」部分にドロップします。
以下の通り、数値によって、違う色がつくようになりました。
各構造の数値をバー上にテキスト表示する
最後に各構造の数値をバー上に表示します。
以下の通り、バー上に数値が乗るように書式設定で中央表示等、調整します。
以上、Income Statementのビジュアライズでした。
サンプルは以下からダウンロードしてください。
https://public.tableau.com/profile/.68836999#!/vizhome/–IncomeWaterfallChart/waterfall
では。