PowerBIの視覚化ツールについてまとめてみた

# はじめに
エンジニア？アナリスト？サイエンティスト？歴5ヶ月めの新卒社員が最近学んだことをちょっとずつまとめてみたもの。気づけばもう記事も第5弾。そして、今の仕事をするようになってからもう5ヶ月。今回は原点回帰で備忘録としてのメモ的要素の強い書き方です。個人的には地味にPowerBI関係初投稿！
ちなみに、直近3回の書いてきたのはこんな感じ↓
- [第2弾](https://qiita.com/icchy_sh33p/items/2d64fd79d5e5698d8bcc)
- [第3弾](https://qiita.com/icchy_sh33p/items/358f71ce13248c7d1a9d)
- [第4弾](https://qiita.com/icchy_sh33p/items/dcaa650f57687c9bbaec)

# 視覚化ツール
- PowerBIの視覚化ツール→全部で29種類。ほか、Rのスクリプトによる視覚化ツールの挿入（箱ひげ図、ヒストグラムなど）や別途カスタマイズによりさらに追加可能。

  ![](https://i.imgur.com/diKRB23.png)

## 大前提
- PowerBIでは、視覚化ツールでグラフを使用する際に
    - 縦軸に設定したいものを「値」として
    - 横軸に設定したいものを「軸」として
フィールド内で設定する。グラフでのイメージとしては、「軸」がx軸、「値」がy軸という感じ。

## 集合縦棒／横棒グラフ
- 各項目別で該当する結果がどの程度あるのかを示す際に使用するグラフ。
- 使用するメリット
    - 結果ごとで各項目が一箇所にまとまって表示されるため、その結果になった各項目の値がどの程度なのかが視覚化されやすい
- 使用例
    - 案件の提携相手が主導で営業を進めているかどうか、およびその案件の大きさごとでの顧客の平均収入をひとつのグラフでまとめる
        - 案件の主導が提携相手かどうか→（はい・いいえ）
        - 案件の大きさ→（小・中・大）
        - 案件の顧客の平均収入→（値に「顧客の平均収入」を設定）
        ![](https://i.imgur.com/aW0bjUA.jpg)

    - 地域別での案件の大きさと案件の件数
        - 地域→（東部・中央・西部）
        - 案件の大きさ→（小・中・大）
        - 案件の件数→（値に「案件の件数」を設定）
        ![](https://i.imgur.com/AM1o2b2.jpg)

## 100％積み上げ縦棒／横棒グラフ
- 構成比を表現、比較するために高さを一定にした縦棒を割合で区切った表
- 使用するメリット
    - 母数が条件によって異なる中でどの程度知りたいものが含まれているかの比率を視覚的に捉えやすい
- 使用例
    - 月別、および案件件数の進行段階別での比率
        - 該当月（1〜12月）
        - 案件の該当月内での進行段階の比率（「進行段階の件数」を値として設定）
        - 進行段階は課題導出・交渉権成立・課題解決・＋α企画提案・企画最終契約
        ![](https://i.imgur.com/RpVpMLa.jpg)

## 面グラフと積み上げ面グラフ
- 棒グラフの横の間隔をゼロにしたもの。積み上げにするかどうかは、全体の高さで総合計を示したいか、個々の数値を示したいか（棒グラフと同じ）
- 使用するメリット
    - 各要素の増減や他要素との差の変化が可視化しやすい
- 使用例
    - 月、および従業員（実行者）での収入と予算のパーセンテージを比較したい
        - 軸（横軸）→月（時間軸、1〜12月）
        - 値（縦軸）→収入と予算のパーセンテージ（数値）
        - 従業員（実行者）ごとで線と面の色づけがされている
        ![](https://i.imgur.com/YqTOVtG.jpg)

## ウォーターフォール図
- 値が加算、または減算された際の累計（現在の合計）が示される
→一連の加算と減算の変化によって初期値（例：純利益／損失など）がどのように影響を受けるかを理解するために使用
- 使用するメリット
    - 基準となる0の軸が固定されていないため、累計の大きさの変化が目で見てわかるように可視化される
- 作成時の設定
    - カテゴリー→横軸にしたいものを設定
    - 値（y軸）→変化量を見たいものを設定
- 使用例
    - 時系列やさまざまなカテゴリーにわたりメジャーに変化がある場合
    - 合計値に影響を与える大きな変化を監査する場合
    - 会社のある年とその前年での新規雇用社員数をグラフに示す場合
        - カテゴリー→年齢別（<30、30-49、50+）と総合計を設定
        - 値（y軸）→人数（数値）を設定
        ![](https://i.imgur.com/DAiCz8I.jpg)

## 散布図
- ふたつの要素からなる1組のデータが得られたときにふたつの要素の関係を見るためにプロットしたグラフ
- 使用するメリット
    - 各項目でのふたつの要素の関係の分散の程度を目で見てわかるように可視化される
- 作成時の設定
    - 詳細でそれぞれふたつの要素を、x軸とy軸でそれぞれ値として見たい項目を選択、その上で凡例に分類したい項目を設定
    - 再生軸に「period」などの時間をレコードしているカラム（データ、日付／時刻型のもの）に設定することで変化が動いている状態で目視確認できる
- 使用例
    - ビジネス領域別での予想最大損失額とそのパーセンテージの分散の程度を目視で確認したい
    ![](https://i.imgur.com/U1knQhl.gif)

## ツリーマップ
- 大きい枠の四角形の中に項目別で四角形が数値の大きさに合わせてそれぞれ大きさが変化した状態で表示されるマップ
- 使用するメリット
    - 空間効率の良い情報可視化を実現できる→画面を隙間なく利用するため、限られた空間に多くの情報を詰め込むことができる
    - 分割された各領域の面積を自由に決められる
- 作成時の設定
    - グループで色分けをする基準を設定
    - 値で図示するときの大きさをどの数値での大きさにするかを設定
- 使用例
    - 地域別総収入の比較
        - グループ→地域（東・西・南・北・その他）を設定
        - 値→地域別総収入（数値）を設定
        ![](https://i.imgur.com/cjP96gK.jpg)

## State（塗り分け地図）とマップ
- State（塗り分け地図）は地図内に、条件別に色を塗って表示したもの。マップは地図内に、比較する数値によって大きさが変化する○や円グラフが表示されるもの。
- 使用するメリット
    - 実際の地図に合わせて色や数値によって大きさが決められた○や円グラフがつけられるため、地域や地理的条件による比較や原因考察などがしやすい
- 作成時の設定（State（塗り分け地図））
    - 場所→地域を設定しているカラム（データカテゴリも別途地理的特徴でのデータとして設定）を設定
    - 色の彩度→条件として色分けしたいもの（数値など）を設定
- 使用例（State（塗り分け地図））
    - アメリカ国内州別の総収入額の比較
        - 場所→State（アメリカ国内53州）を設定
        - 色の彩度→州別総収入額（数値）を設定
        ![](https://i.imgur.com/2w0wGws.jpg)

- 作成時の設定（マップ）
    - 場所→地域を設定しているカラム（データカテゴリも別途地理的特徴でのデータとして設定）を設定
    - サイズ→円グラフ（○）の大きさとして、表示させたい数値の場所ごとでの合計を設定
    - 凡例→円グラフの内訳として設定したい項目を設定
- 使用例（マップ）
    - 都市別、および欠陥種別による総合欠陥事案件数報告
        - 場所→Plant（都市名）を設定
        - 凡例→欠陥種別（拒絶・影響あり・影響なし）を設定
        - サイズ→欠陥事案件数（数値）を設定
        ![](https://i.imgur.com/iAQpnEL.jpg)

## KPI（設定の仕方など、詳細は別途まとめる予定）
- **主要業績評価指標**のこと。
- どういうときに使用するか
    - 進行状況（目標より進んでいるのか／遅れているのか）を測定するとき
    - 目標到達までの距離（どの程度進んでいるのか／遅れているのか）を測定するとき
- 必要になるもの
    - 値に対して評価される基本メジャー
    - ターゲットとなるメジャー、または値
    - 基準となるしきい値、あるいは目標

## フィルターとスライサー
- どちらもレポート上でデータを絞り込むツール。
- フィルター
    - 3種類あり、それぞれ適用範囲が異なる（レベル別）ため、用途に合わせて設定
        - ビジュアルレベルフィルター・・・各視覚化部分に設定、設定された視覚化部分内でのみ適用される
        - ページレベルフィルター・・・レポートのページに対して設定、該当するページ内すべての視覚化部分に適用
        - レポートレベルフィルター・・・レポート内のすべての視覚化部分に適用
- スライサー
    - スライサーのバーやチェックリストの選択などによる基本的なデータの絞り込みを設定
- フィルターとスライサーの違い
    - スライサーは「視覚化されたもの」としてレポート内に表示、表示されているデータをクリックして選択／選択解除する基本的な操作が可能
    - フィルターは「高度なフィルター処理」を使うことで、Excelのような柔軟なデータの絞り込みが可能。また、スライサーでの絞り込みはフィルターで絞り込まれた範囲でしか適用されない
    - フィルターがデータの絞り込みに特化しているが、スライサーは「データを絞り込み」するか「データの絞り込みを無効化」するかを視覚化ごとに選択可能

# 感想
最近、PowerBIを触れる機会は多いものの、個人的にあまり完全に理解している、というようにどうも思えず、毎回探索的にいじりながら雰囲気で覚えていく・・・ということが結構多かったので、今回改めて調査してみて、今まで点だった知識が、少しは線で繋がったかな・・・なんて思っています。

個人的には自分の持っている情報を増やすのももちろんですが、それ以上にまとめる作業が大変でした（あれ？デジャブ・・・w）。

実は、まだこれで全部ではないんです。今日までに勉強してきた部分はまた明日あたりにでもアップロードしまーす。この調子でAdvent Calender（スペルあってるかわかんない）、更新頑張っていこう。ではでは