業務ハックLab -とある情シスの備忘録-

とある情シスの備忘録的なものです。

【スポンサーリンク】

Power Automateと連携してPower BIで地震発生状況レポートを作ってみた

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

今回は以前投稿した「Power Automateで地震発生状況の蓄積をしてみる」で作った地震情報の蓄積データをPower BIでレポート化していきたいと思います。
この記事は、Power BI Advent Calendar 2022 12月23日担当分の記事です!

qiita.com

 

Excelデータどうやって取り込む?

今回データソースとなる地震情報ですがOnDrive for Business上のExcelファイルに蓄積されています。
OnDrive for Business上のExcelファイル取り込み方法ですが今回は二つの方法をご紹介します。
それはPower BIから取り込む方法とPower BI Desktopを介して取り込む方法です。

Power BIから取り込む手順

  1. Power BIにアクセスします。

  2. レポートを作成するワークスペースを開き、「+新規」をクリックします。

  3. 「データセット」をクリックします。

  4. 新しいコンテンツの作成からファイルの「取得」をクリックします。

  5. 「OneDrive - Business」をクリックします。

  6. 該当のエクセルデータを選択し、「接続」をクリックします。

  7. 「インポート」をどちらで取り込むか選択します。

Power BI Desktopを使って取り込む手順

  1. Power BI Desktopを開きます。

  2. 「データを取得」で「Web」を選択し「接続」をクリックします。

  3. OnDrive for Businessを開き、データソースとなるExcel三点リーダーをクリックし、「詳細」を開いて、その中からパスをコピーします。

  4. URL欄に先ほどコピーしたパスを貼り付けし、「OK」をクリックします。

  5. 取り込みしたいテーブルを選択し「読み込み」をクリックします。

ちなみにこの取り込み方法ですがデータの更新で明確な違いが出てきます。
前者はOnDrive for Business上のExcelファイル、つまりデータソースを編集するとその変更内容がPower BI上で自動同期されます。
Learnでは通常1時間以内と記載がありますが何回か試したところ、私の環境では5分程度で変更が反映されていました。
一方で後者に関しては自動更新をするためにはデータセットの設定でスケジュール更新を設定する必要があります。

前者のスケジュール更新設定画面

後者のスケジュール更新設定画面

頻繁にデータセットに変更が入る、変更が入る時間が定期的ではない場合などは前者の方法でデータセットを作ると勝手に変更が反映されるので便利ですね。

今回は前者の取り込み方法でデータセットを作りたいと思います。

レポートを作る

それではレポートを作っていきましょう。
データセットの中には最近集めたデータだけではちょっと物足りないので過去20年分のデータを入れてみました。
全部で55,000件弱のデータがありました。
Power BI上で扱う上では全然余裕の件数ですね。
レポートを作成するには先ほど取り込んだデータセット三点リーダーをクリックし、メニューからレポートの作成をクリックします。

年、月のスライサー

データがめちゃくちゃあるのでまずはフィルタしやすいように年と月のスライサーを設定します。
本来ならカレンダーテーブルを作成してリレーションを張ったほうが良いのですが今回は割愛。

年のスライサー

地震データは「earthquake」に格納されていますのでそちらの「地震の発生日 Year」をフィールドに格納します。
年のスライサーはこれで完了です。
お好みで並びの昇順、降順を変更します。

月のスライサー

「earthquake」の「地震の発生日 Month」をフィールドに格納します。
月のスライサーもこれで完了です。
お好みで並びの昇順、降順を変更します。

最大震度、震央地の割合

最大震度、震央地の割合に関しては円グラフで設定します。

最大震度の円グラフ

凡例に「earthquake」の「最大震度」、値に「earthquake」の「最大震度のカウント」を格納します。

震央地の円グラフ

凡例に「earthquake」の「震央地名」、値に「earthquake」の「震央地名のカウント」を格納します。

最大震度のスライサー

「earthquake」の「最大震度」をフィールドに格納します。



ここのスライサーのスタイルは「タイル」にしてみました。

マグニチュードのスライサー

「earthquake」の「M」をフィールドに格納します。

ここのスライサーはスタイルがバーティカルリストだと使用しにくいので「指定の値の間」にしています。

地震の一覧

地震の一覧データをテーブルで表示しています。
「earthquake」の「地震の発生日」、「震央地名」、「M」、「最大震度」を列に格納します。

地図の設定

地図はArcGIS Map for Power BIビジュアルを利用します。
「earthquake」の「震央地名」をLocationへ、「earthquake」の「緯度」をLatitudeへ、
「earthquake」の「経度」をLongitudeへ、「earthquake」の「M の合計」をSizeへ、「earthquake」の「最大震度」、「地震の発生日」をTooltipsに格納します。

ArcGIS Mapは自分が取得してきたデータ以外にもマップにレイヤーを追加できるので便利ですよね。
今回は「Recent Earthquakes」というものを使っています。

最終的に出来上がったレポートがこちら!

ちなみに現状、発生年月日、発生時刻と分かれているのですが発生日時という列を作成すればArcGIS Mapに時間による地震の発生推移を見れるようになるので見せ方としては面白いと思います。

他にも色々改良できる点があると思いますので色々試してみたいと思います。
データを視覚化するのは楽しいですね~
それでは皆さん、良い業務ハックライフを~

 

免責事項