Power BI でシャトレーゼ店舗情報を可視化する

#はじめに
この記事は、Power BIはほぼ触ったことが無い状態でレポートを作成し、手順の一部を記載しています。
よって、もっと簡単で合理的な実現方法がある可能性があります。
総合的な知識が無い者でも何とかできるという事、そして未来の自分が最初はこんなだったという記録にしたく投稿しました。

・記載した内容は以下です
１.連続する複数Webページから一括でデータを取得する方法
２.住所（緯度経度なし）で、地図表示させる方法
３.スライサーの並び順を思い通りに設定する方法

#作ったもの

最近[おうじゃさんといっしょコミュニティ](https://oujasan-to-issho.connpass.com/)で人気のシャトレーゼ。
始まりはこのツィートでした。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">ふらりさんが、シャトレーゼに迷わず行けるようにPower BIの勉強がてら、都内の店舗マッピングしておきましたw<br>住所から緯度・経度の変換が大変ですが、BI自体はホントに簡単ですね。 <a href="https://t.co/GH8WJENOwP">pic.twitter.com/GH8WJENOwP</a></p>&mdash; 小林竜也 Tatsuya Kobayashi (@rockfun) <a href="https://twitter.com/rockfun/status/1364147225165619202?ref_src=twsrc%5Etfw">February 23, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

@rockfunさんが作成された、シャトレーゼの店舗情報の可視化。
そして、@ishiayayaさんは、店舗位置の緯度経度を利用せずに地図に表示。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">私もシャトレーゼしてみました <a href="https://twitter.com/hashtag/%E3%81%8A%E3%81%86%E3%81%98%E3%82%83%E3%81%95%E3%82%93%E3%81%A8%E3%81%84%E3%81%A3%E3%81%97%E3%82%87?src=hash&amp;ref_src=twsrc%5Etfw">#おうじゃさんといっしょ</a> <a href="https://t.co/O12mULYJWj">pic.twitter.com/O12mULYJWj</a></p>&mdash; 石川陽一 Yoichi Ishikawa (@ishiayaya) <a href="https://twitter.com/ishiayaya/status/1364712235122089991?ref_src=twsrc%5Etfw">February 24, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

この二つのレポートを拝見し、「Power BI面白そう！やってみよう！」となったわけです。
そして何とか作りました。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">若干、<a href="https://twitter.com/hashtag/%E3%81%8A%E3%81%86%E3%81%98%E3%82%83%E3%81%95%E3%82%93%E3%81%A8%E3%81%84%E3%81%A3%E3%81%97%E3%82%87?src=hash&amp;ref_src=twsrc%5Etfw">#おうじゃさんといっしょ</a> ではブームが過ぎ去った感のあるシャトレーゼ。<a href="https://twitter.com/hashtag/PowerBI?src=hash&amp;ref_src=twsrc%5Etfw">#PowerBI</a> で<a href="https://twitter.com/ishiayaya?ref_src=twsrc%5Etfw">@ishiayaya</a> さんの <a href="https://t.co/7IxG8hodTS">https://t.co/7IxG8hodTS</a> を真似てみました。色々勉強になりました！<br>アイデアは <a href="https://twitter.com/rockfun?ref_src=twsrc%5Etfw">@rockfun</a> さんの <a href="https://t.co/k4no3gffFd">https://t.co/k4no3gffFd</a> です。やればできる！ <a href="https://t.co/OMuItAMPFd">pic.twitter.com/OMuItAMPFd</a></p>&mdash; Miyake Mito (@MiTo60448639) <a href="https://twitter.com/MiTo60448639/status/1365295021658791940?ref_src=twsrc%5Etfw">February 26, 2021</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

作る過程で、知識となりそうなことを記載いてみます。

#シャトレーゼHPから店舗を取得する

シャトレーゼHPの店舗情報は、都道府県ごとに別々のページで構成されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/e6ffd42e-c454-86eb-0edd-d1bc43135820.png)

|Key|Value|
|:------|--------------------------------------:|
|北海道|https://www2.chateraise.co.jp/shop/list/1/|
|青森県|https://www2.chateraise.co.jp/shop/list/2/|
|岩手県|https://www2.chateraise.co.jp/shop/list/3/|
|　：|：　　　　　　　　　　|
|沖縄県|https://www2.chateraise.co.jp/shop/list/47/|

という、

/list/｛北海道が1からの連番｝/

でURLが構成されています。

これを一気に取得する方法は下記を参照しました。
https://road2cloudoffice.blogspot.com/2017/07/power-bi-excel-web.html

■ 実際の手順を記載

北海道のURLでページから取得し、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/d4b4f033-3f4e-abff-240e-a577e0a18ec1.png)

Power Queryエディターで、[詳細エディター]を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/5a56385a-c4c8-a3d8-07bb-ef1082c947ae.png)

先頭に、

```
(page as number) =>
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/987def93-f73b-314e-90d3-f57bfd0fdbab.png)

さらにURLのPage番号部分に

```
"& Number.ToText(page)&"
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/eae1e6b2-58f4-f483-d9cf-6d18a2cc9cb8.png)

次に[データの入力]で
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/cff421be-0582-4fd0-686e-52fddd4a6725.png)

1~47の行を入力し作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/395ecb0f-d9ec-424c-2256-af9769176bf0.png)

[列の追加]-[カスタム関数の呼び出し]を選び、関数クエリに上記で[詳細エディタ」で作成した、クエリを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/d8f29530-f2a2-b77b-9b98-25bd912e59b4.png)

※もし「プライバシーレベルが云々」と警告が出たら、
https://docs.microsoft.com/ja-jp/power-bi/admin/desktop-privacy-levels
で対処します。

このボタンを押し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/73d85514-5572-b3bb-94e2-20732a8acff3.png)

[さらに読み込む]-[OK]で展開します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/2924c8c9-2f61-d228-b851-b0e23061fb91.png)

データのトリートメントをします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/0417ff4e-b124-2fed-3bb8-176e9d3a5e5a.png)

新しく追加した列に、住所部分をコピー&ペースト
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/df1297dd-2960-c431-a339-05a58b0a5381.png)

TEL部分も同じようにし、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/46d30f75-260c-ff57-e2be-99cdc3484047.png)
こういうのは、不要な部分を削ると、他の列でも同じ判断をしてくれるのがすごい、たのしい！

行の削除から、空白行の削除や、不要な列を削除しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/5e3968c9-0697-43f0-bfd0-9ca15bc0d824.png)

終わったら、閉じて適用します。

#レポートを作成
###地図の作成
地図は、[Power BI 向け ArcGIS Maps](https://powerbi.microsoft.com/ja-jp/power-bi-esri-arcgis/)を利用しました。
このマップコントロールは、住所のみ（緯度経度なし）でマップにピンが打てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/238682c3-be75-f151-f009-62bdbddff4af.png)

###都道府県スライサーの作成
シャトレーゼ店舗店舗情報より、都道府県部分のみ切り出した列でスライサーを作ると、このように、並び順がめちゃくちゃになります。
（恐らく、あいうえお順）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/f4a0cd0e-fdfa-7f5c-0f98-4c9b4adb12ff.png)

北海道から順に並べたいので、新たにこういったテーブルを作成し
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/01e3278a-d8d3-05b7-9835-07dc07e3f7b2.png)

スライダーに表示する列を選択し、[列で並び替え]からソートキーを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/b3059545-9732-e004-769a-97463f036b81.png)

あとは、新規に作成したテーブルと、データ元となるテーブルのリレーションを作成します
[モデリング]-[リレーションシップの管理]
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/558dde69-3c00-95b2-d809-ff634b59fe33.png)

スライダーのフィールドに、新たに作成したテーブルの都道府県を設定すると、見事、北から順にならびました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/480768/7c14dd62-4160-8663-5181-9596a493686f.png)

#まとめ
Power BI は、Power Apps や Power Automate に負けず劣らず、めちゃくちゃ面白いです。
触れる機会をくださった、[おうじゃさんといっしょコミュニティ](https://oujasan-to-issho.connpass.com/)と@rockfunさんと@ishiayayaさん。
そしてシャトレーゼに感謝です。