はじめに
この記事は、Power BIはほぼ触ったことが無い状態でレポートを作成し、手順の一部を記載しています。
よって、もっと簡単で合理的な実現方法がある可能性があります。
総合的な知識が無い者でも何とかできるという事、そして未来の自分が最初はこんなだったという記録にしたく投稿しました。
・記載した内容は以下です
1.連続する複数Webページから一括でデータを取得する方法
2.住所(緯度経度なし)で、地図表示させる方法
3.スライサーの並び順を思い通りに設定する方法
作ったもの
最近おうじゃさんといっしょコミュニティで人気のシャトレーゼ。
始まりはこのツィートでした。
ふらりさんが、シャトレーゼに迷わず行けるようにPower BIの勉強がてら、都内の店舗マッピングしておきましたw
— 小林竜也 Tatsuya Kobayashi (@rockfun) February 23, 2021
住所から緯度・経度の変換が大変ですが、BI自体はホントに簡単ですね。 pic.twitter.com/GH8WJENOwP
@rockfunさんが作成された、シャトレーゼの店舗情報の可視化。
そして、@ishiayayaさんは、店舗位置の緯度経度を利用せずに地図に表示。
私もシャトレーゼしてみました #おうじゃさんといっしょ pic.twitter.com/O12mULYJWj
— 石川陽一 Yoichi Ishikawa (@ishiayaya) February 24, 2021
この二つのレポートを拝見し、「Power BI面白そう!やってみよう!」となったわけです。
そして何とか作りました。
若干、#おうじゃさんといっしょ ではブームが過ぎ去った感のあるシャトレーゼ。#PowerBI で@ishiayaya さんの https://t.co/7IxG8hodTS を真似てみました。色々勉強になりました!
— Miyake Mito (@MiTo60448639) February 26, 2021
アイデアは @rockfun さんの https://t.co/k4no3gffFd です。やればできる! pic.twitter.com/OMuItAMPFd
作る過程で、知識となりそうなことを記載いてみます。
シャトレーゼHPから店舗を取得する
シャトレーゼHPの店舗情報は、都道府県ごとに別々のページで構成されています。
という、
/list/{北海道が1からの連番}/
でURLが構成されています。
これを一気に取得する方法は下記を参照しました。
https://road2cloudoffice.blogspot.com/2017/07/power-bi-excel-web.html
■ 実際の手順を記載
Power Queryエディターで、[詳細エディター]を選択
先頭に、
(page as number) =>
さらにURLのPage番号部分に
"& Number.ToText(page)&"
[列の追加]-[カスタム関数の呼び出し]を選び、関数クエリに上記で[詳細エディタ」で作成した、クエリを選択
※もし「プライバシーレベルが云々」と警告が出たら、
https://docs.microsoft.com/ja-jp/power-bi/admin/desktop-privacy-levels
で対処します。
TEL部分も同じようにし、
こういうのは、不要な部分を削ると、他の列でも同じ判断をしてくれるのがすごい、たのしい!
終わったら、閉じて適用します。
レポートを作成
地図の作成
地図は、Power BI 向け ArcGIS Mapsを利用しました。
このマップコントロールは、住所のみ(緯度経度なし)でマップにピンが打てます。
都道府県スライサーの作成
シャトレーゼ店舗店舗情報より、都道府県部分のみ切り出した列でスライサーを作ると、このように、並び順がめちゃくちゃになります。
(恐らく、あいうえお順)
北海道から順に並べたいので、新たにこういったテーブルを作成し
スライダーに表示する列を選択し、[列で並び替え]からソートキーを選択します。
あとは、新規に作成したテーブルと、データ元となるテーブルのリレーションを作成します
[モデリング]-[リレーションシップの管理]
スライダーのフィールドに、新たに作成したテーブルの都道府県を設定すると、見事、北から順にならびました。
まとめ
Power BI は、Power Apps や Power Automate に負けず劣らず、めちゃくちゃ面白いです。
触れる機会をくださった、おうじゃさんといっしょコミュニティと@rockfunさんと@ishiayayaさん。
そしてシャトレーゼに感謝です。