Power BI 棒グラフの見せ方いろいろ

Qiita初投稿！

#はじめに
棒グラフはグラフの王様と言われてます。
シンプルで、数値を直感的に比較しやすいので
最も使われてるのではないでしょうか。

この記事は [Microsoft Power BI](https://powerbi.microsoft.com/ja-jp/) で棒グラフを使うときに
少し手を加えてカッコよくするTIPです。

*注意：2018年11月時点の最新ver(2.64)のPower BI desktopを使用しています*

2019/2/6：[少数をまとめる](#少数をまとめる)を追記

##対象者
- 棒グラフでどんな見せ方ができるか知りたい人
- こんなグラフが作りたい！と見た目から入る人

##使い方
以下のサンプルをざっと眺めて
気になったものがあれば
後述の[作り方](#作り方)を見て試してください

#サンプル
##グラフを塗り分ける
[１本だけ塗り分ける](#１本だけ塗り分ける)
![記事用_1_1本だけ色を変える_グラフだけ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/c28f7e2b-2bac-c4dd-9cd7-2214a4e92ce6.jpeg) 

[ある日を境に塗り分ける](#ある日を境に塗り分ける)
![記事用_2_施策前後で色を変える_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/0d548531-d4cd-32f9-62cb-02a08331a48b.jpeg)

[グループごとに塗り分ける](#グループごとに塗り分ける)
![記事用_3_グループごとに色分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/78f27d98-ff49-84f7-3d4f-adc2b0421474.jpeg)

[１本ずつ塗り分ける](#１本ずつ塗り分ける)
![記事用_4_1本ずつ色分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/08b24a9f-b08f-a9bc-301d-b06cb28e5331.jpeg) 

[背景を塗り分ける](#背景を塗り分ける)
![記事用_7_背景塗り分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/fe60429b-0510-d1d8-d009-4c1eb163d584.jpeg)

##値を見やすくする

[積み上げグラフの合計値を表示する](#積み上げグラフの合計値を表示する)
![記事用_5_積み上げ棒グラフの合計_グラフ-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/2374e57a-06a1-e5a5-b5ef-35378819c415.jpeg)

[目標線を入れる](#目標線を入れる)
![記事用_6_目標線_グラフ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/9891117e-ff4c-8882-ee96-027725d8a008.jpeg)

[少数をまとめる](#少数をまとめる)
![記事用_8_少数まとめ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/8e93a971-37e2-caa7-bae7-2a2d5faf71bb.jpeg)

#作り方
##グラフを塗り分ける
ポイントは 積み上げグラフを
積み上げないこと。

---
###１本だけ塗り分ける
![記事用_1_1本だけ色を変える_グラフだけ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/dde51e8c-01eb-d751-1ef9-100d37d7968b.jpeg)

【利用シーン】
イベント日 と その他を比較したい場合。
他と比べて数値が増える場合に効果的。

【サンプルデータ】

|売上日|金額|イベント|
|-----|---:|---|
|12/22|30||
|12/23|40||
|**12/24**|**100**|**クリスマスイブ**|
|12/25|60||
|12/26|30||
|12/27|20||
|12/28|20||

【作り方】
積み上げ縦棒グラフを使用。
(折れ線＋積み上げ棒グラフや、横棒グラフでも可）
![記事用_1_1本だけ色を変える_設定画面のみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/7f7bfb68-db87-e70a-9c74-be4300612d04.jpeg)

【完成】
![記事用_1_1本だけ色を変える_グラフだけ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/dde51e8c-01eb-d751-1ef9-100d37d7968b.jpeg)

---
###ある日を境に塗り分ける
![記事用_2_施策前後で色を変える_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/25528fe2-0dbd-0b46-787f-cd09af557ec7.jpeg)
【利用シーン】
施策の前後で推移を比較したい場合。

【サンプルデータ】

|売上日|金額|施策|
|-----|---:|---|
|12/22|10|前|
|12/23|10|前|
|12/24|20|前|
|<font color="DarkCyan">12/25</font>|<font color="DarkCyan">90</font>|<font color="DarkCyan">後</font>|
|<font color="DarkCyan">12/26</font>|<font color="DarkCyan">100</font>|<font color="DarkCyan">後</font>|
|<font color="DarkCyan">12/27</font>|<font color="DarkCyan">80</font>|<font color="DarkCyan">後</font>|
|<font color="DarkCyan">12/28</font>|<font color="DarkCyan">70</font>|<font color="DarkCyan">後</font>|

【作り方】
積み上げ縦棒グラフを使用。
(折れ線＋積み上げ棒グラフや、横棒グラフでも可）
![記事用_2_施策前後で色を変える_設定画面のみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/81a97e55-bf76-571c-0c02-80b1d8a20584.jpeg)

【完成】
![記事用_2_施策前後で色を変える_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/25528fe2-0dbd-0b46-787f-cd09af557ec7.jpeg)

---
###グループごとに塗り分ける
![記事用_3_グループごとに色分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/78f27d98-ff49-84f7-3d4f-adc2b0421474.jpeg)

【利用シーン】
同じグループ内で比較しつつ、全体もざっと見渡したい とか
ドリルダウンで切り替えずに ひと目で把握したい場合。

【サンプルデータ】

|都道府県|金額|地方|
|-----|---:|---|
|<font color="DarkCyan">京都</font>|<font color="DarkCyan">50</font>|<font color="DarkCyan">関西</font>|
|<font color="DarkCyan">大阪</font>|<font color="DarkCyan">90</font>|<font color="DarkCyan">関西</font>|
|<font color="DarkCyan">兵庫</font>|<font color="DarkCyan">60</font>|<font color="DarkCyan">関西</font>|
|埼玉|50|関東|
|神奈川|80|関東|
|東京|100|関東|
|<font color="Crimson">愛知</font>|<font color="Crimson">70</font>|<font color="Crimson">中部</font>|
|<font color="Crimson">岐阜</font>|<font color="Crimson">20</font>|<font color="Crimson">中部</font>|
|<font color="Crimson">静岡</font>|<font color="Crimson">30</font>|<font color="Crimson">中部</font>|

【作り方】
積み上げ縦棒グラフを使用。
(折れ線＋積み上げ棒グラフや、横棒グラフでも可）
![記事用_3_グループごとに色分け_設定画面のみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/aacd6567-b3d0-5a2d-5506-fcecb6034d9e.jpeg)

ちなみに“軸”は`地方`と`都道府県`の２階層を両方を表示した状態で
![記事用_3_グループごとに色分け_手順2.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/58cde49d-26e4-121f-e4eb-caf6f6fe2871.jpeg)

並び替えてください。
![記事用_3_グループごとに色分け_手順3.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/450c7648-3105-901d-9526-958be7aef4a3.jpeg)

【完成】
![記事用_3_グループごとに色分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/78f27d98-ff49-84f7-3d4f-adc2b0421474.jpeg)

---
###１本ずつ塗り分ける
![記事用_4_1本ずつ色分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/08b24a9f-b08f-a9bc-301d-b06cb28e5331.jpeg)

【利用シーン】
ぱっと思い浮かばないけど、こういう表現もできますよ ということで。

【サンプルデータ】

|都道府県|金額|
|-----|---:|
|東京|100|
|大阪|90|
|神奈川|80|
|愛知|70|
|兵庫|60|
|京都|50|
|埼玉|50|
|静岡|30|
|岐阜|20|

【作り方】
積み上げ縦棒グラフを使用。
(折れ線＋積み上げ棒グラフや、横棒グラフでも可）
![記事用_4_1本ずつ色を変える_設定画面のみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/7fa24345-024f-0698-ffae-41dd729b59a4.jpeg)

【完成】
![記事用_4_1本ずつ色分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/08b24a9f-b08f-a9bc-301d-b06cb28e5331.jpeg)

---
###背景を塗り分ける
![記事用_7_背景塗り分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/fe60429b-0510-d1d8-d009-4c1eb163d584.jpeg)

【利用シーン】
イベント日 と その他を比較したい場合。特に値がゼロの場合に効果的。

先述の[グラフ塗り分け](#１本だけ塗り分ける)だと、
値がゼロの場合、その棒グラフは長さゼロで表示されず 色の違いが見えませんが
背景塗り分けなら見せることができます。

ちなみに[グラフ塗り分け](#１本だけ塗り分ける)と一緒に使うこともできますよ。

【サンプルデータ】

|売上日|金額|イベント|
|-----|---:|---|
|12/22|30||
|12/23|40||
|**12/24**|**100**|**クリスマス**|
|**12/25**|**60**|**クリスマス**|
|12/26|30||
|12/27|20||
|12/28|20||

【作り方】
まず表示用の`イベント塗り分け背景`列を追加します。

`イベント`が"クリスマス"の場合は
`金額`列の最大値(100)より少しだけ大きい値(120%くらい)を設定し、
それ以外は0とします。

```text:新しい列
イベント塗り分け背景 = IF( [イベント] = "クリスマス" , 
                         MAX( [金額] ) * 1.2 ,
                         0
                       )
```
追加後のサンプルデータはこちら。

|売上日|金額|イベント|<font color="Crimson">イベント塗り分け背景</font>|
|-----|---:|---|---|
|12/22|30||<font color="Crimson">**0**</font>|
|12/23|40||<font color="Crimson">**0**</font>|
|**12/24**|**100**|**クリスマス**|<font color="Crimson">**120**</font>|
|**12/25**|**60**|**クリスマス**|<font color="Crimson">**120**</font>|
|12/26|30||<font color="Crimson">**0**</font>|
|12/27|20||<font color="Crimson">**0**</font>|
|12/28|20||<font color="Crimson">**0**</font>| 

ビジュアルは、折れ線＋積み上げ縦棒グラフを使用。
グレーの背景は網掛けした折れ線グラフで表現します。
![記事用_7_背景塗り分け_設定画面.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/3000ccaa-01a8-b016-2c7b-d9a9686a0035.jpeg)

折れ線を網掛けして、
線の太さをゼロにして、
ステップをオンに(階段グラフに)します。
![記事用_7_背景塗り分け_設定画面2.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/c3897330-86fe-e832-7e10-b64ea3e66c89.jpeg)

塗り分け背景色は薄いグレーが無難ですね。
![記事用_7_背景塗り分け_設定画面3.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/5519042b-e319-bc71-692c-d40f9901da68.jpeg)
【完成】
![記事用_7_背景塗り分け_グラフのみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/fe60429b-0510-d1d8-d009-4c1eb163d584.jpeg)

【おまけ】
同時にグラフを塗り分けるとこんな感じ
![記事用_7_背景塗り分け_グラフ-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/7880d334-8272-dbf8-2ca8-f931e997e1e3.jpeg)

---
##値を見やすくする
複合グラフの折れ線を
別の用途に使ってしまおう。

---
###積み上げグラフの合計値を表示する
![記事用_5_積み上げ棒グラフの合計_グラフ-2.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/2374e57a-06a1-e5a5-b5ef-35378819c415.jpeg)
積み上げ棒グラフは内訳を視覚化するのに便利ですが
代わりに合計値が表示されません。
![記事用_5_積み上げ棒グラフの合計_困りごと.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239983/663799ec-1f53-2dcd-acdf-e4d727be2f60.jpeg)
内訳(凡例)を無くせば合計値は確認できますが、
ひと手間かかって不便なので
同時に表示させてみました。

【利用シーン】
積み上げ棒グラフの 内訳の値と合計値を
両方同時に見たい場合。

【サンプルデータ】

|都道府県|金額|地方|
|-----|---:|---|
|京都|50|関西|
|大阪|90|関西|
|兵庫|60|関西|
|埼玉|50|関東|
|神奈川|80|関東|
|東京|100|関東|
|愛知|70|中部|
|岐阜|20|中部|
|静岡|30|中部|

【作り方】
折れ線＋積み上げ縦棒グラフを使用。
![記事用_5_積み上げ棒グラフの合計_設定画面のみ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/796c84a7-c7f3-2c89-8c48-f8bd19028c67.jpeg)

折れ線の太さをゼロにして、さらにマーカーを消します。
![記事用_5_積み上げ棒グラフの合計_手順2.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/30fc2e32-06a9-7f02-2f96-22a42a3ae4f8.jpeg)

データラベルが重ならないように、表示位置は“内側上”に調整します。
![記事用_5_積み上げ棒グラフの合計_手順3.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/343cac9d-dfc2-ac2f-2848-35ed182a8b08.jpeg)

【完成】
![記事用_5_積み上げ棒グラフの合計_グラフ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/75caaeac-aea7-9904-cd43-aa1ee33b12d6.jpeg)

---
###目標線を入れる
![記事用_6_目標線_グラフ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/9891117e-ff4c-8882-ee96-027725d8a008.jpeg)
集合棒グラフの分析ペインには定数線を表示する機能もあるけど、固定値しか設定できません。
これだとフィルタなどでデータを切り替えても変化しないし、
何より積み上げ棒グラフで使えないため少し不便。
![記事用_6_目標線_困りごと.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/239983/5ea70683-f79e-d484-a0e2-bba1c0e66ba9.jpeg)

でも、折れ線を目標値にすれば柔軟に対応できます。
両端が少し短いのは慣れてもらうしかありませんが、
水平ではなく傾けたり、細かな調整ができます。

【利用シーン】
実績と目標値を比較したい場合。

【サンプルデータ】

|年度|実績|目標値|
|-----|---:|---:|
|2015|60|**70**|
|2016|90|**70**|
|2017|30|**70**|
|2018|80|**70**|
|2019||**70**|

【作り方】
折れ線＋積み上げ縦棒グラフを使用。
![記事用_6_目標線_設定画面.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/9db0ff92-dd13-810c-7981-6a6d914389e8.jpeg)

【完成】
![記事用_6_目標線_グラフ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/9891117e-ff4c-8882-ee96-027725d8a008.jpeg)
【おまけ】
目標線を傾けるとこんな感じ
![記事用_6_目標線-2_グラフ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/df3c39cf-edd5-96ca-379c-a8b5e0126b77.jpeg)

---
###少数をまとめる
![記事用_8_少数まとめ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/8e93a971-37e2-caa7-bae7-2a2d5faf71bb.jpeg)
軸(項目)数がたくさんある場合、横スクロールしないとグラフ全体が見られず、間延びした印象になりますが
注目したいのは上位項目だけ、という場合が多いです。

下位項目をまとめると全体的にスマートになって、上位が引き立つ…こともあります。


【利用シーン】
シェアの大きい項目に注目させたい場合。

【サンプルデータ】

|都道府県|金額|
|-----|---:|
|東京|100|
|大阪|90|
|愛知|70|
|島根|10|
|佐賀|10|
|山形|10|
|福井|10|

【作り方】
まず表示用の項目を追加します。
今回は**金額20未満**を**その他**としてまとめます。

```text:新しい列
都道府県_少数まとめ = IF( [金額] < 20, "その他", [都道府県] )
```
追加後のサンプルデータはこちら。

|都道府県|金額|都道府県_少数まとめ|
|-----|---:|---|
|東京|100|<font color="Crimson">東京</font>|
|大阪|90|<font color="Crimson">大阪</font>|
|愛知|70|<font color="Crimson">愛知</font>|
|島根|10|<font color="Crimson">その他</font>|
|佐賀|10|<font color="Crimson">その他</font>|
|山形|10|<font color="Crimson">その他</font>|
|福井|10|<font color="Crimson">その他</font>|

ビジュアルは積み上げ縦棒グラフを使用。
(折れ線＋積み上げ棒グラフや、横棒グラフでも可）
![記事用_8_少数まとめ_設定画面.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/1bfaad51-802d-9fe7-4dd7-1b916ae9cf01.jpeg)

【完成】
![記事用_8_少数まとめ.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/8e93a971-37e2-caa7-bae7-2a2d5faf71bb.jpeg)

【おまけ】
色を塗り分けないとこんな感じ
![記事用_8_少数まとめ-塗り分けなし.jpg](https://qiita-image-store.s3.amazonaws.com/0/239983/022c3acc-f1ac-87bf-c21c-7c05e70a065a.jpeg)
これ本当は、金額で分けるのではなく
「上位3項目」と「その他」にしたかったんですが
筆者の力不足により妥協しました。


#おわりに
ここまで見た目にこだわったグラフを紹介してきましたが、
データ分析で大事なことは きれいなグラフを作ることではなく、
グラフを見た人がどんな行動を取るのかが重要です。
そこを留意しつつ、見やすいグラフ作りに活かしてもらえればと思います。

#関連情報
グラフ色付けを扱っているQiita記事

- [Power BI 勉強帳：最大値を色付けする](https://qiita.com/y-komuro/items/dbb94484f78aeab3b894)
色付けする場所をデータによって変える場合。とても丁寧にわかりやすく解説されてます。

- [ビジュアルに味付けをするモデリングを考えよう](https://qiita.com/PowerBIxyz/items/7f6d0e0432a94bb2b9ff#%E7%89%B9%E5%AE%9A%E3%81%AE%E3%82%AB%E3%83%86%E3%82%B4%E3%83%AA%E3%82%92%E3%83%8F%E3%82%A4%E3%83%A9%E3%82%A4%E3%83%88)
スライサーで選択した範囲内で最大値に色付けする場合。ここまで作り込めば いろいろなニーズを満たして使いやすそうです。