業務ハックLab

とある社内SEの備忘録的なものです。

【スポンサーリンク】

新型コロナワクチンの接種状況を見える化してみる

皆さんこんにちは。
業務ハックLabのよーよんです。

新型コロナワクチンの接種がどんどん進んできていますね。
自分自身も少しでも早く打てればいいなと考えている今日この頃です。
新型コロナいえば以前、陽性患者数の推移をPower BIで作成したのですが、ワクチン接種の状況の見える化もしてみようと思い、オープンデータになっていないか確認してみたところ、下記ページでオープンデータがありました。

cio.go.jp

今日はこのサイトからデータを取得し、Power BIで見える化をしていきたいと思います。
せっかくですので前に作った静岡県の新型コロナウィルス感染症発生状況のPower BIレポートに追加します。
それでは早速行ってみましょう!

 

データの取り込み

上でも書いた通り、今回はすでに作成済みのレポートにデータを追加していきますのでまずはpbixファイルを開いておきます。

  1. ホームタブの「データを取得」から「Web」をクリックします。

    f:id:yo-yon:20210612120652p:plain

  2. 政府CIOポータルより新型コロナワクチンの接種接種状況のオープンデータURLをコピーし、貼り付け、OKボタンをクリックします。
    https://vrs-data.cio.go.jp/vaccination/opendata/latest/prefecture.ndjson

    f:id:yo-yon:20210612120716p:plain

  3. 次に上記データは都道府県コードしかない状態なのでコードから都道府県名を調べる為、下記データカタログサイト(DATA GO JP)から「全国地方公共団体コード総務省所管)」を取得します。
    取り込みの手順は上記と同じです。

    http://www.soumu.go.jp/main_content/000730858.xlsx

    f:id:yo-yon:20210612131120p:plain

  4. WebからというウィンドウでURLを指定しOKをクリックすると「DataSource.Error」と表示されますがそのままOKをクリックします。

    f:id:yo-yon:20210612131138p:plain

  5. ナビゲーターが開くので「R1.5.1現在の団体」にチェックを入れ「データの変換」をクリックします。

    f:id:yo-yon:20210612131319p:plain

データの取り込みはこれで完了です。

Power Queryでのデータ成型

次は取り込んだデータをPower Queryで成形していきます。
Power BIでレポートを作る際、このデータの成型が非常に重要です。
Power Queryは非常に便利なツールなので覚えておいて損はないです。

都道府県データの成型
  1. 前段で取り込んだデータを確認すると取り込んだ時点で列の型変更がされているのでステップから削除します。

    f:id:yo-yon:20210612131718p:plain

  2. 「団体コード」列と「都道府県名(漢字)」列を選択、右クリックし、「他の列の削除」をクリックします。

    f:id:yo-yon:20210612131949p:plain

  3. 「団体コード」列を選択し、変換タブの「抽出」から「最初の文字」をクリックします。

    f:id:yo-yon:20210612132144p:plain

  4.  

    都道府県を表す部分は最初の二文字なので「カウント」に「2」と入力しOKをクリックします。

    f:id:yo-yon:20210612132406p:plain

  5. 団体コード」列を選択、右クリックし、「重複の削除」をクリックします。

    f:id:yo-yon:20210612132522p:plain

これで都道府県コードの成型は完了です。

ワクチン接種状況のデータ成型
  1. 前段で取り込んだ新型コロナワクチンの接種接種状況のオープンデータを確認すると下記のような表示になっているのでファイルを右クリックし「テキスト」をクリックします。
  2. ファイルが展開されたことを確認します。
  3. 変換タブの「値の置換」で下記のように置換を行います。
    「"」、「{」、「}」を「空白」
    「,」を「:」

    f:id:yo-yon:20210612123727p:plain

    f:id:yo-yon:20210612123749p:plain

  4. ホームタブを「列の分割」から「区切り記号による分割」をクリックします。

    f:id:yo-yon:20210612133416p:plain

  5. 区切り記号を「コロン」、分割を「区切り記号の出現ごと」に設定しOKをクリックします。

    f:id:yo-yon:20210612133435p:plain

  6. 列が区切られるのですがその際に自動的に各列の型変更がされてしまうのでステップから削除します。

    f:id:yo-yon:20210612133452p:plain

  7. 下記列の名称を変更します。
    変更前 変更後
    Column1.2 日付
    Column1.4 都道府県コード
    Column1.6 性別1
    Column1.8 年齢1
    Column1.10 医療従事者
    Column1.12 接種回数
    Column1.14 接種人数計
  8. 名称変更した列をすべて選択、右クリックし、「他の列の削除」をクリックします。

    f:id:yo-yon:20210612133641p:plain

  9. 列の追加タブで「条件列」をクリックし、「性別1」列のデータと「年齢1」列のデータを下記の形で変換し「性別」列、「年齢」列を作成します。

    f:id:yo-yon:20210612133724p:plain

    f:id:yo-yon:20210612133739p:plain

  10. 変換した列を追加したら「性別1」と「年齢1」はいらないので削除します。

    f:id:yo-yon:20210612133831p:plain

  11. このデータに都道府県データから都道府県名を追加する為、クエリのマージを使用します。
    ホームタブから「クエリのマージ」をクリックします。

    f:id:yo-yon:20210612133854p:plain

  12. 下の段で取り込み済みの都道府県データを選択し、都道府県コードと団体コードを紐づけ(クリックするだけ)、結合の種類は「左外部(最初の行のすべて、および2番目の行のうち一致するもの」を選択。
    上記設定が終わったらOKをクリックします。

    f:id:yo-yon:20210612133911p:plain

  13. データの最終列に都道府県データが追加されたことを確認します。

    f:id:yo-yon:20210612134650p:plain

  14. 都道府県データの矢印(下の画像参照)をクリックします。

    f:id:yo-yon:20210612134720p:plain

  15. 都道府県名(漢字)」にのみチェックし「元の列名を・・・」のチェックを外してOKをクリックします。

    f:id:yo-yon:20210612134731p:plain

  16. 「日付」列、「接種人数計」列の型をそれぞれ変更します。
    列名
    日付 日付
    接種人数計 10進数
  17. 今回のデータは静岡県のデータのみが必要なので「都道府県名(漢字)」列のフィルタで「静岡県」のみにチェックを入れ、OKをクリックします。

    f:id:yo-yon:20210612134931p:plain

  18. 集計値としては2回目完了済みのデータのみを使用するので「接種回数」列で「2」のみにチェックを入れ、OKをクリックします。

    f:id:yo-yon:20210612135403p:plain

  19. ホームタブの「閉じて適用」をクリックし成型完了です。

    f:id:yo-yon:20210612135035p:plain

Power BIでのビジュアル変更

最後にPower BIのビジュアルの変更をします。
もともとあった月別陽性者数のデータを変更し直近3か月の陽性者数、ワクチン接種者数のグラフに変更します。

  1. モデルページで取り込んだワクチン接種者数データの「日付」列とカレンダーテーブルの「Date」列のリレーションを設定します。

    f:id:yo-yon:20210612135927p:plain

  2.  

    レポートページで「月別陽性者数」のビジュアルをクリックします。

    f:id:yo-yon:20210612135846p:plain

  3. 視覚化のメニューから「折れ線グラフおよび積み上げ縦棒グラフ」をクリックします。

    f:id:yo-yon:20210612140418p:plain

  4. タイトルを「直近3か月の陽性者、ワクチン接種者(2回目完了)数」に変更します。

    f:id:yo-yon:20210612140801p:plain

  5. 共有の軸をカレンダーテーブルの「年月」から「Date」に変更します。

    f:id:yo-yon:20210612140814p:plain

  6. 線の値に「接種人数計」を設定し、名称を「ワクチン接種人数(2回目完了)」に変更します。

    f:id:yo-yon:20210612140831p:plain

  7. フィルターでこのビジュアルのみ相対日付にします。
    「基本フィルター」となっている個所を「相対日付」にして、最近の3か月という設定にします。

    f:id:yo-yon:20210612141541p:plain

  8. グラフが以下のような感じになれば設定完了です。

    f:id:yo-yon:20210612141554p:plain

如何だったでしょうか?
Power BIでビジュアルを作成するにはデータがしっかりしていることが前提となります。
今回の説明の中でも成型を行うPower Queryのパートが多かったと思いますが元データを集計しやすいようにすることによって後々の集計に影響が出てきます。
こういったオープンデータからのレポート作成に限らず、BIで視覚化するすべての内容においてこれは言えると思います。
ソースとなるデータがしっかりしていなければ視覚化したデータも当然しっかりしたものになりません。
BIツールでレポートを作成するときはその点を念頭に置いておきましょう!
それでは皆さん良い業務ハックライフを~


免責事項