Power BIカスタムビジュアルで学ぶデータモデリング from Microsoft AppSource

この記事の内容は、ほぼ[Power BI王子](https://qiita.com/yugoes1021)の受け売りです。
多謝多謝！(/・ω・)/

#イントロダクション
「こんなビジュアルってどうやるんだろう？」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/a50dc6ee-9d12-61ee-eead-c765ead3fddd.png)

「こういうグラフにできたらいいなー」
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/29639424-89cc-62c1-8874-b33be926137b.png)

多くの人がPower BIやExcelで抱いた疑問だと思います。

これらのチャートやグラフは、闇雲にデータを突っ込めば出来上がる物ではありません。

**目的に沿ったデータモデリングを行う必要があります。**

今回は目的のビジュアルを実現するデータモデリングを学ぶ手段として、**[Microsoft AppSource](https://appsource.microsoft.com)**からPower BIカスタムビジュアルの**サンプルレポート**を入手する手段を紹介したいと思います。

#Microsoft AppSourceとは？

Microsoftの認定を受けたアドインやWebアプリが公開・販売されています。

**Power BIカスタムビジュアル**も、ここMicrosoft AppSourceで扱われるアドインの一つです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/64914b84-d41d-4643-c0bb-08ed97f57cca.png)

下記のURLをクリックすると、Power BIカスタムビジュアルだけにフィルターが絞られた画面に飛びます。
https://appsource.microsoft.com/ja-jp/marketplace/apps?product=power-bi-visuals

#Microsoft AppSourceから取得できるPower BIカスタムビジュアル
**Power BI Desktopの[Marketplaceからインポートする]から取得できるものと同一です。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/293c99e0-2670-583c-3dbd-c66ae229c7a9.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/79388aff-26dd-2562-774b-d3b82ba39431.png)

##わざわざMicrosoft AppSourceを使う意味ある？
**Microsoft AppSourceでのみ、サンプルレポートをダウンロードすることが出来ます。**

##サンプルレポートって何？
サンプルレポートとは、**個々のカスタムビジュアル開発元が用意した使い方のサンプル**です。

ビジュアルに必要なデータモデルのサンプル、独自機能の説明、利用上のヒントやTipsが含まれています。

#サンプルレポートのダウンロード
実際にダウンロードしてみましょう。

1.レーダーチャートに興味があったので、Microsoft AppSourceで**「Rader」**と検索しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/48a847b5-1724-cbc6-80fa-3a5f5d563d78.png)

2.少し下にスクロールして**[すべて表示]**をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/cc24cf4f-3e95-ab9e-2b03-fb852ce43b18.png)

3.一覧画面に切り替わるので、**[Power BI visuals]**をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/09629c6e-1774-25a8-ce9d-d594e0638a4b.png)

4.**[Rader]**に関わりのあるPower BIカスタムビジュアルだけに絞られました。

其々のカードをクリックすると詳細画面に飛びます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/20f6655c-0868-7800-1529-0518f2a0090a.png)

5.**[今すぐ入手する]**をクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/5f2d3f3b-1b94-17fb-1146-b53d75ae552d.png)

6.組織アカウントでサインインを求められるので**[続行]**。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/c24a9bf4-8d02-77a8-78d5-650b2bfda34c.png)

7.サインインが終わると、Power BIカスタムビジュアルのダウンロードページが開きます。

今回はサンプルレポートが欲しいので、**[Download for Power BI]**ではなく**Try a sample**の**[sample report]**をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/d63a6727-1dbd-3f1f-4034-d2b82eb820d5.png)

8.**Power BIカスタムビジュアルが含まれたpbixファイルがダウンロードできます。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/efe6b81d-362d-644c-2f37-74b7e6ac4b0d.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/4a86adde-ad47-5422-7fec-f6d2f34b448f.png)

#サンプルレポートの中身
多くの場合、この三つです。

1.ビジュアルに必要なデータモデル例
(必要な場合はリレーションも含む)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/7541accb-e71c-d65d-f7e6-e69506e92595.png)

2.データモデル例を利用した完成済みPower BIカスタムビジュアル
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/0f23b928-3b3c-3390-339d-2b77de4cdf7a.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/13f6e236-1f28-3155-d275-d74de696f83e.png)

**同じカスタムビジュアルで異なる使い方がある場合**、個別にページやデータモデルが用意されてたりします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/59c6aff4-4bb1-6d37-1899-3f15b90d6a22.png)

3.Power BIカスタムビジュアルの説明やヒント
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/22b39dee-aaa6-a16c-2d60-814fe4ed8417.png)
#サンプルレポートを使ったデータモデリングの勉強
サンプルレポートはビジュアル開発者が作った文字通り**お手本**です。

使われているデータモデリング、列をどのようにビジュアルへのセットしているか、どんなメジャーを使っているか、これらを見る事で**プロの技に触れながら勉強できます。**
##データモデルを確認するには
サンプルレポートをPower BI Desktopで開いたら**[データ]**タブをクリックすると、データモデルを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/c025744b-3273-b107-d643-0029c0968f90.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/7541accb-e71c-d65d-f7e6-e69506e92595.png)

これとサンプルのビジュアルを見比べる事が第一歩です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/0f23b928-3b3c-3390-339d-2b77de4cdf7a.png)
##実際にサンプルレポートに触ってみる
**[Hierarchy Chart by Akvelon](https://appsource.microsoft.com/ja/product/power-bi-visuals/WA104381333?tab=Overview)**を例にとってみましょう。

これは階層構造のチャートを作れるビジュアルです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/6a2e1768-1838-2d9d-b391-7019f89a237a.png)

どういうデータモデリングをすればこの階層構造が実現できるのでしょう?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/527e984a-0681-ac6b-f859-466bc5663f12.png)

###データモデルとビジュアルの確認
データモデルを見てみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/e00ac32f-9d94-63eb-b9b8-02e6e6f79bd5.png)

データモデルとビジュアルを見比べると、**[Id]**と**[Parent]**が関係ありそうです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/58abfd93-9dd4-cbf0-87a1-c9f72df08c74.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/fbbea51f-6ab1-704d-cf33-75dcc63618b6.png)
###データ構造の理解
どうやら**上位にしたい[Id]を[Parent]に入れると**階層構造を表現できそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/4d962772-cdb3-2c42-b3bf-2661e7bfd0fb.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/a2752662-d36a-0a91-479d-357ecd6ad15b.png)
最後にビジュアルの設定を見てみましょう。

このビジュアルを使う場合、**[Id]と[Parent]に相当する列を作り**、同じ場所に設定してあげれば同様のビジュアルが作れそうです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/bb7e1644-8782-ddd5-26f7-970bb6974f16.png)
###自分のデータで試す
後は自分のデータを使ってビジュアルを弄ってみましょう。

上手くいきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/c69ca079-d77b-d05e-14e8-5a1a42f62105.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/66d11bc4-f29c-4cd5-9d37-92127f40a6b1.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/313502/a42adfb4-7169-0bca-d9f0-906b7f6088ba.png)

これで階層構造を表現したい場合に使えるデータモデリング手法を一つ学ぶことが出来ました。
#まとめ
- **Microsoft AppSourceのサンプルレポートを有効活用しよう！**
- **使いたいビジュアルがあったら、サンプルレポートのデータモデルを見てみよう！**
- **欲しいビジュアルが見つからない場合は、英語名で検索してみよう。**
    - 棒グラフはbar chart
    - 折れ線グラフはLine chart
    - テーブルはTable
    - クロス集計はMatrix
- **サンプルレポートはフリーで使えるプロの手作り教材！**


今回の話はあくまで自習レベルの話に過ぎませんが、プロの技を自分の手で弄れる教材は貴重だと思います。

是非モデリングの知識を深め、手元のデータで何ができるかを想像してみてください。