データ可視化のアイデア帳

データ可視化にまつわるあれこれ

Tableau でスカイラインチャート

スカイラインチャートってご存知でしょうか。
棒グラフの一種なのですが、縦軸に 1 つ目の指標、横軸に 2 つ目の指標 (もしくはその割合)、棒グラフの太さが横軸の指標に対するいち項目の値 (もしくは割合) を示すもので、産業構造等の分析に多く用いられるチャートです。

スカイラインチャートの詳しい説明は経済産業省のページをご確認ください。
スカイランチャートからみた産業構造の変化

実は Tableau ではスカイラインチャートで検索しても、このチャートを見つけることができません。というのも、Tableau 語ではこのチャートのことをマリメッコチャートと呼んでいるからです。マリメッコチャートで検索すると、縦軸の指標についても割合に直した形の、長方形を区切ったような形のチャートが見つかります。Tableau に慣れている方ならこれを参照してもスカイラインチャートを作成できると思いますが、細かい機能を多く使うため、なかなか難しく感じられるのではないでしょうか。そこで、この記事では改めてスカイラインチャートの作り方をまとめようと思います。

KB 読めばわかるよ!って方はサクッと KB ご参考ください。
https://kb.tableau.com/articles/howto/create-a-variable-width-bar-chart-aka-cascade-chart?lang=ja-jp

マリメッコチャートの作り方はこちらのブログが詳しいです。
マリメッコチャート(Marimekko chart)を作成してみる – Tableau-id Press -タブロイド-

[手順]
データセットはいつものサンプル スーパーストアです。
あんまり機能を拡大してスクショしてしまうと、画面のどこの話か分からなくなるケースがあるので、あえて全体がわかるようにしてあります。

1. 縦軸

1 つ目のメジャーを行シェルフにドラッグします。(ここでは [利益] を使用します)
f:id:zkn360:20190131175120j:plain

2. 詳細レベル*1

使用したいディメンションを詳細にドラッグします。([サブカテゴリ])
f:id:zkn360:20190131175137j:plain

3. 横軸

2 つ目のメジャーを列シェルフにドラッグします。([売上])
f:id:zkn360:20190131175153j:plain

4. マークの変更

この時点では散布図になるので、マークを「自動」から「棒」に変更します。
f:id:zkn360:20190131175210j:plain

5. 横軸の調整

列シェルフの [売上] をクリック > 簡易表計算 > 累計 を選択します。
f:id:zkn360:20190131175230j:plain

6. 簡易表計算の調整

もう一度列シェルフの [売上] をクリックして、簡易表計算の計算の方向を調整します。次を使用して計算から、サブカテゴリを選択します。
f:id:zkn360:20190131175246j:plain
f:id:zkn360:20190131175259j:plain

7. 棒グラフの太さ (サイズ) の設定

太さとして設定したいメジャー ([売上]) をサイズにドラッグします。この時点では、思ったような図にならないはずです。
f:id:zkn360:20190131175312j:plain

8. 棒グラフの太さの表現を調整

マークシェルフのサイズ ボダンをクリックすると、既定では「手動」にチェックが入っていますが、「固定」に変更し、配置も「右」を選択します。これで見た目はかなり完成に近づいたと思います。
f:id:zkn360:20190131175333j:plain

以降はオプションです。

オプション 1: 棒グラフを並べ替えたい

詳細の [サブカテゴリ] をクリックして並べ替えを選択、データソース順、アルファベット順、フィールド順、手動のいずれかで設定します。

オプション 2: 色を付けたい

メジャーで色を付ける分には、色付けの基準となるメジャーをマークシェルフの色にドラッグすれば OK です。
f:id:zkn360:20190131175418j:plain
問題は、ディメンションで色を付けたいとき。単純にディメンションを色にドラッグすると見た目が崩れます。
f:id:zkn360:20190131175401j:plain
これは色にディメンションを入れたことで簡易表計算の実行基準が変わってしまうためです。これを防ぐ方法は、色にあるディメンションを属性に変更すること。具体的な手順は、色にあるディメンションのピルをダブル クリックしてディメンション名を ATTR 関数で囲みます。これだけ。
f:id:zkn360:20190131175432j:plain
これで思った通りの色付けになります。(色は編集済み)
f:id:zkn360:20190131175925j:plain

オプション 3: 横軸を割合にしたい

上記の手順では横軸は実数の累計になっていますが、これを最大値を 100% とする割合に直したいというケースがあります。この場合、使用する機能は簡易表計算セカンダリ計算です。列シェルフの [売上] をクリックしてΔ簡易表計算の編集を選択します。表計算の編集メニュー下段の「セカンダリ計算の追加」をチェックします。セカンダリ計算タイプを「合計に対する割合」に、次を使用して計算を「特定のディメンション(サブカテゴリ)」にして表計算の編集メニューを閉じます。
f:id:zkn360:20190131175454j:plain
ここでも見た目が崩れます。
f:id:zkn360:20190131175509j:plain
崩れた見た目を直すため、サイズにある 合計(売上) をクリックし、簡易表計算から「全体に対する割合」を選択します。
f:id:zkn360:20190131175526j:plain

お疲れ様でした。

*1:要はどの項目を使うかってことです