コロナ分析のダッシュボードを作成してみます。
この記事の目的
・Power BIの操作に慣れる
・簡単なレポートを自分で作れるようになる
完成したダッシュボードはこちらです。
- 感染者総数の数字
- 男性と女性比率の円グラフ
- 年齢別の月次の積上げグラフ
コロナのサンプルデータを取得
東京都の新型コロナウイルス陽性患者のデータを使用します。
使用するCSVファイルはこちらです。
データの取り込み
データのダウンロード
ダウンロードした「130001_tokyo_covid19_patients.csv
」ファイルを作業フォルダに移動します。
ダウンロードフォルダではなく、正式なフォルダに移動してください。
データ差替え時に、同じ場所にファイルを置く必要があるためです。
後で、「どこにファイルを置けばいいんだったっけ?」とならないようにしてください。
私は「C:\PowerBI\data」
に保存しました。
場所は後でも変えられますが、初めに決めておいた方が簡単です。
Power BIからダウンロードしたファイルを取り込む
- Power BIのソフトを起動します
- 「データを取得」から「テキスト/CSV」を選びます
- ダウンロードしたcsvファイルを選択します。
- csvのデータが画面に表示されますので、「読み込み」ボタンを押します。
取り込んだデータを見てみます。
左の表のアイコンをクリックするとデータを参照できます。
・陽性患者1人に対して1行
・都道府県のデータはあるが「東京都」しかない
・データが入っているのは、
公表_年月日、患者_年代、患者性別
というのがわかります。
分析する前にざっとデータには目をとおすように習慣づけましょう。
全国のデータと思ったら、東京都だけだったという事になりかねません。
ダッシュボードの作成
東京都の累計患者数を表示
累計数字の表示を作ります。
- カードを選択
- “フィールド欄”の”[No]の項目を”視覚化”欄の[値]にドラッグする
- [値]の表示をカウントに変更する
一人につき一行なので、行をカウントをすることで累計患者数を出せます。
男女比率の円グラフを作成
男女の比率を求める円グラフを作成します
- ドーナッツグラフを選択
- “フィールド欄”の[患者_性別]の項目を”視覚化”欄の[詳細]にドラッグする
- “フィールド欄”の[No]の項目を”視覚化”欄の[値]にドラッグする
- [値]の表示をカウントに変更する
月別の患者数グラフを作成する
月別の患者数グラフの作成手順です。
- 積み上げ縦棒グラフを選択
- “フィールド欄”の[公表_年月日]の項目を”視覚化”欄の[軸]にドラッグする
- “フィールド欄”の[No]の項目を”視覚化”欄の[値]にドラッグする
- [値]の表示をカウントに変更する
- グラフの初期表示を月に変更する
最後の操作の、図の表示変更について説明します。
Power BIは日付データを入れると
年
四半期
月
日
の階層データを作ってくれます。
これにより、四半期や月の推移表を簡単に作ることができます。
階層データをグラフに使うと下の図の矢印がでます。
↑ 上矢印
一つ上の階層データを表示します。
日データを表示していたら、月データの表示に変わります
↓ 下矢印
クリックした値の下の階層のデータを表示します。
2020年をクリックしたら、2020年の四半期データを表示します。
↓↓2重下矢印
下の階層の全データの合計を表示します。
年から四半期データに変えた場合、全部の年の合計Q1データが表示されます。
2019 | 1月 | 100 |
2020 | 1月 | 200 |
このようなデータがあった場合、↓↓はQ1 300の表示になります。
↓を選択後2020年をクリックした場合、Q1 100の表示です。
年齢別の積み上げグラフに変更する
先ほど作った月別の患者数グラフを年齢別に変更します。
年齢別の患者数の数字がないので自分で作ります。
「クイックメジャー」をクリックして、下の図のようにセットします。
このセットの意味は、
患者_年代 = “10代”
で抽出した、Noのカウントの項目を作るという意味です。
追加すると「フィールドに」新しい項目が追加されたことを確認できます。
同じようにして、前年代の項目を作成します。
一つずつ設定するのは大変なので、10代のNoカウントを利用して作ります。
下の図を参考にして、計算式をコピーします。
- 「10代のNoカウント」を選択
- ^を押して、項目式の欄を拡大表示
- 表示された式をコピー
この計算式は先ほど手入力した内容をPower BIが式に変換したものです。
項目の名前を「10代」に変更して、左のチェックボタンを押して保存します。
10代
の No のカウント= CALCULATE(
COUNTA(‘130001_tokyo_covid19_patients'[No])
,’130001_tokyo_covid19_patients'[患者_年代] IN { “10代” }
)
先ほどの数式をコピーします。
式の中に10代が2か所ありますが、それを20代に変えます。
これは、20代を抽出した、新しい「20代」の項目という意味です。
下の図を参考にして、「新しいメジャー」を選択後、数式欄に変更した値を張り付けて保存します。10代から80代まで作成します。
20代 = CALCULATE(
COUNTA(‘130001_tokyo_covid19_patients'[No])
,’130001_tokyo_covid19_patients'[患者_年代] IN { “20代” }
)
10代から80代まで作成したら、最後は「その他」を作成します。
下の式を張り付けてください。NOTを利用することで、10代から80代以外という意味となります。
その他 = CALCULATE(
COUNTA(‘130001_tokyo_covid19_patients'[No])
,NOT(‘130001_tokyo_covid19_patients'[患者_年代]
in { “10代”,”20代”,”30代”,”40代”,”50代”,”60代”,”70代”,”80代” }
))
新規項目を作り終わりましたので、グラフに反映させます
- 「月別の患者数グラフ」を選択する
- 元の値を削除
- 10代から順番に項目をクリックしていく
これで、棒グラフの下から10代、20代となっているグラフができました。
動作確認
左の円グラフの男性をクリックすると、カードの値が男性のみの値になります。
右の棒グラフのAprilをクリックするとカードの値が4月の数字となります。
グラフをクリックした時にもう一つのグラフの色が変わります。
例えば男性をクリックした場合、右グラフの濃い色が男性を表します。
これは強調表示となっているためです。
男性をクリックした時に男性だけを表示するように変えてみます
- 左の円グラフを選択
- 上のリボンから書式を選択
- 「相互作用を編集」をクリック
- 右図のフィルタのアイコンをクリック
この「相互作用を編集」は、グラフ同士の連動のしかたを定義します。
アイコンの意味は
左:先に指定したグラフの値で、このグラフの値を抽出する
中:先に指定したグラフの値を、強調表示する
右:グラフの表示は変更しない
となります。
最後に表示から、自分の好きなレイアウトを選べば終了です。
まとめ
グラフの作成は直感的にわかりやすいので、作りやすいと思います。
10代、20代といったデータを作成するところは少し難しかったと思います。
難しいところはExcelで事前に加工するのも一つの手です。
グラフをクリックすると動的に変わるところはPower BIの面白いところです。