なぜデータをグラフにするのか？ ～ BI の重要な要素 ～

# はじめに
BI では必要なデータをよしなに整形し、モデリングが終わったら、ビジュアライズしていく。これはどんなツールでも同じで、ツールによって、それらの作業をオールインワンでできるものと一部を他のツールに任せるものがある程度の違いしかない。

Excel ユーザーがよく言うことだが、

- 「Excel と BI の違いは何ですか？」
- 「Power BI と Excel の違いを教えてください。」

とてもよく聞かれる。そんなとき、最初にこう答える。

**俺氏「まず、名称が違いますよね」**

だいたいみんな、きょとんとする。
これは別にウケを狙っているわけでも、ネタでもなく、まして冗談でもない。至極、真面目なのだ。

**俺氏「名称が異なるということは、それは違うサービスまたはツールだということ。あなたは同じことができるもの、あるいは似たようなことができるものという前提でその違いが知りたいと言われている。それはあなたの使い方による。逆にお聞きしましょう。**

1. **現在、Excel を何に使われているのですか？**
1. **なぜ BI を導入したいのですか？**
1. **御社の中で BI とはどういう定義ですか？**

**私は御社のそれらを知らないので、今は回答できません。教えてください。」**

これを読まれている方は、いま、面倒くさいと思われたことでしょう。正解です。BI を使い始めるだけでも、これらの面倒な問いに対する組織としての解を用意しなければ、適切に使い始めることはできないでしょう。

と、面倒な前置きはこれくらいにして、今回の本題はちがう、ちがう、そうじゃない。

今回の本題は「なぜデータをグラフにするのか？」です。これは Excel ユーザーにも通じる話ですよね。BI に限ったことではない。（なお、Excel と BI を分けて話していますが、Excel BI という言葉もあるくらいなので、やはりそれは使い方によるんだろうな、とはまた別のお話。）

# データの表現方法
Excel だろうが、何らかの BI ツール（私の場合は Power BI）だろうが、必ずデータをグラフにする。データについては、読み込む際に一定のルールに従って **構造化データ** にする。そうして、モデリングした後、折れ線グラフや縦棒グラフ、カード、テーブル、マトリックスなどの適切なビジュアルを使用して、データを表現する。

ところで、この「データをグラフで表現する」ということ。あまり慣れていない方が多いように感じる。たしかに小中高と振り返ってみると、「データをグラフで表現する」ことを集中して学んだことはないように思う。それでも中学1年生の時に、数学の1次関数の単元で誰しも次のことは学んでいるはず。

## たとえばこんなデータがあったとする
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/3d7bf70b-6bfc-bb27-944a-3599153565cd.png)
x が 0 の時、y は 0
x が 1 の時、y は 2
x が 2 の時、y は 4
.
.
.
x が 5 の時、y は 10

これをグラフにプロットすると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/10e64e80-2043-66c8-3ea1-67fb2e9fcffd.png)

そして、これを式で表すと

$y = 2x$

となる

つまり、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/ba43d4d5-d745-d70d-7096-fa1fb212b45a.png)
これらは表現方法が異なるだけで、すべて同じことを表している。
というのを、日本では義務教育の中学1年生の数学で習っている。BI では式はあまり出てこないが、少なくとも表とグラフの関係は、データとグラフの関係と捉えることができる。

同じ状況を複数の表現方法で表すことができるならば、その時に合わせた最適なものを選ぶ必要があるわけだ。BI でグラフを選ぶというのは、ここがとても重要になる。

**「あなたは何が知りたいの？」**

ということだ。

今回のテーマの解になるが、**数字の羅列ではわからないことを表現するために、グラフ化するのだ。**

## データをグラフ化する際に考える素地はみんな持ってる
そう考えると、多くの人がデータをグラフ化する素地を持っていることになる。もしグラフ化するのが苦手だというのであれば、忘れているだけかもしれない。機能で考えるのではなく、自分が持っているより単純なデータを基本的なグラフ（折れ線グラフや棒グラフ）にして、使用しているツールの癖や仕様に慣れることが最初の一歩になる。

その際、よく観察することが重要だ。思っていた結果と異なる結果が得られた場合には、立ち止まって、その理由を考えてみると学習が深まる。

**「現象には必ず理由がある」**

とは、ガリレオシリーズの湯川先生の言葉。
自分の思い込みこそが正しいという人は、学ぶことが難しい。そういう人はすぐ「これはバグだ！」と言う。バグっているのは、自分の考えの方かもしれない。

そうならないために、時間に余裕のある時にコーヒーでも飲みながら、好きな曲をかけて、試してみることを切に願う。

「明日までにこれを作らなきゃいけない！」という状況で、初めて触るツールを使うと、たいていろくなことにならないのだ。

そして、もう一つ。仕事で扱う場合は、試したことのあるもので依頼を受けるべきだ。できるか分からないものを安請け合いしたら、これまたろくなことにならない。

# 適切なビジュアルはロジカルに決まる
データをグラフにする時、誰しも考えるのが「どのビジュアルがいいのかな？」ということ。ただ、経験者と初学者で考えることが異なる。

✅経験者の場合
「今回はこういう要件があって、このページではこういうことが知りたいから、よし、このビジュアルだな」

🔰初学者の場合
「以前 Excel でこういうグラフにしてたから、同じ感じで。どうやったら、同じようになるのだろうか？」
「なんか、かっこいい感じにしたいな。それっぽい感じで」

ここには明らかな差がある。要件は具体的であればあるほど、良い。少なくとも以下のことをまず箇条書きにしてみることをオススメする。

1. 誰が見るのか？
1. いつ見るのか？
1. 何を見るのか？
1. 何を判断する（意思決定する）のか？
1. どのデバイスで見るのか？

例えば、「誰が見るのか？」については、見る人の年齢層に気を付けたい。40代以上の人が見るのであれば、老眼になっている人が多いかもしれない。冗談ではなく、これはとても大事なポイントだ。数値や文字が見えなければ、意味がないのだ。文字の大きさは、大中小と三段階くらい、定義してしまうとグラフを作るのが楽になる。

大は 20 pt
中は 16 pt
小は 13 pt

と決めておくと、一番目立たせたいところは大、補足的な説明は中、凡例は小など、選んでいくだけになる。

色も同様だ。「いつ見るのか？」や「何を見るのか？」に関わってくるが、どのくらいの時間見るのか？ということが大事になる。例えば、10分以上見るなら、目が疲れない色使いを心掛けたいものだ。そして、ファッションと同様、使う色は最大で3色にする。もしそれ以上必要なら、それら3色の濃淡で表現する。PowerPoint などで、事前に使用する色を RGB で作成しておくと、とても便利だ。

「何を見るのか？」と「何を判断するのか？」に関わるが、1ページで欲張らないということも大事だ。ページごとにテーマを定義して、そのテーマから逸脱しないように努める。なんでもかんでも詰め込もうとしない。例えば「売上」ページには売上以外の数値は極力排除する。もちろん利益を一緒に見たいんだという要件もあることだろう。一概にどうしたらいいとは言えないが、これはもう試してみるしかない。とりあえず、利益も入れてみて、意味があるグラフになるか、試してみる。解は自分で作るしかない。最初からどこかにあるものではない。試して、ユーザーに見てもらって、できることの中で、最適解を作り出していこう。

## そうは言ってもグラフの基本は守っておこう
既にデータビジュアライゼーションの世界では、有用なサイトや書籍がたくさんある。昨日今日始まったことではないので、騙されたと思って、書店で書籍を開いてみて欲しい。

個人的には、ビジネスで使用するビジュアルは以下のもので十分だと思っている。

- 折れ線グラフ
- 縦棒グラフ
- 横棒グラフ
- カード
- （テーブル）
- （マトリックス）

ビジネスでデータを示す際、その80％が「推移」か「比較」を見たいということだ。

### 時系列に沿った推移：折れ線グラフ
時系列に沿った推移が見たいのであれば、**折れ線グラフ** を使用して、X軸に日付、Y軸に数値を指定すればよい。数値をカテゴリー別に分けたいのであれば、凡例にカテゴリーを指定すればよいが、その際、カテゴリーは少ないほどよい。3種類程度が許容され、最大でも5種類だ。多くなるほど見にくくなっていく。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/52da9f6c-13f0-0860-4576-a6d5fc624b16.png)
↑ カテゴリーが１つの場合

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/8a88644f-b6a7-491e-89d8-af9bb5f1f128.png)
↑ カテゴリーが２つの場合

ご覧になってわかる通り、近い値を持つ数値を折れ線グラフに入れると、2本でもごちゃっとする。色で調整していけば、何とかなるか...？とは思うが、逆に言うと調整しなければいけないということになる。

### カテゴリーごとの値の比較：棒グラフ
何かしらのカテゴリーごとの値を比較したいのであれば、棒グラフが最適だ。X軸にカテゴリーを指定して、Y軸に数値を指定すればよい。カテゴリーについては、折れ線グラフの場合よりも多くても構わないが、10を超えてくると多すぎるように思う。5 - 10 程度がいいかもしれない。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/e24eb5ea-cbf5-d95d-f311-8e74c1cc8524.png)

### なんで円グラフを候補に挙げないの？
そう思った人がいるかもしれない。円グラフ (英語では Pie chart)、とても好きな人多いですよね。BI ではあまり好まれません。理由は簡単です。

- 嵩張る割に情報量が少ない
- 結局ラベルで数値と割合を表示する必要がある

↑ の [区分名による受注額] という縦棒グラフを円グラフにするとこうなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/69153383-3325-de93-d7a9-731e1d952c65.png)

で、ラベルを消すとこうなります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/20b5494b-4415-bd4c-96b8-22dd7205e9ee.png)

ね、何もわからん状態になるでしょ。デカい割に何もわからん。この状態で「魚介類」と「飲料」と「調味料」が何ポイント程度の差があるか？わかる人、いますか？

並んでいる順序から、「魚介類」が一番多いんだなってことはわかります。それら3つでだいたい 50 % を占めているんだなってこともわかります。が、個別の値を比較しようとしたら、円グラフではとても難しいことになります。

であれば、先ほどの縦棒グラフの方がわかりやすいということになる。
あるいは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/06e624c9-8a8b-cae2-f9cc-4c0ada70386a.png)
このように横棒グラフにすると、ランキング的な意味合いも出てきて、よりわかりやすくなる。

# まとめ
BI ツールには標準でとてもたくさんのグラフが選べるようになっている。いろんなグラフを扱える方が、かっこいいと思うかもしれない。複雑な表現をした方が、イケてると思うかもしれない。

でも考えてみて欲しい。それは文章で考えればわかる。

- 難しい表現を多用した文章は読みやすいのだろうか？
- 話がどんどんと飛んで、主題がたくさんある文章の方が好まれるのだろうか？
- あえて横文字を使用した方が、見栄えがいいのだろうか？
- いっぱい書いてあるけど、結局何が言いたいのかわからない文章を読みたい人はいるだろうか？

否、皆まで言わなくてもわかることです。

*"Simple is best."*

組織には多くの方がいるはずだ。いろんな人がいるはずだ。使う人が使えるものでなければならない。そのために BI を扱う人、BI でグラフを作る人は、用意されている機能は可能限り使えるようになっておく必要はあると思う。でも実際に使用するのは、結局、そのうちの数種類になるかもしれない。それでも、学習として、できるだけ多くを知っていることはとても重要だ。

「結局数種類しか使わないんなら、それだけ知ってればいいじゃん。」

間違ってもそう思わないことだ。これはとても現代的な考え方かもしれない。効率のみを追求するという意味でとても現代的であるかもしれない。あなたが AI なら、それでいいでしょう。最も多く使われる結果のみ使えるようになっておく。いつか AI に負けちゃうけどね。

そして、使わない知識やスキルを身に付けておくのは、決して無駄じゃない。断言する。それこそ、とてもとても人間的である、と。