[Power BI Tips] Qiita の投稿記事を API でデータを取得して Power BI で可視化＆分析したい

# Qiita で記事を書いている人へ
ご自身の **Qiita** への投稿を分析したいと思ったりしますよね？
Qiita には API があって、無償で公開されているので、これを使うといろんなツールや言語からデータを取得して、分析できます！

**Qiita API v2 documentation - Qiita:Developer**
https://qiita.com/api/v2/docs

これを使って **Power BI Report** を作成しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/0568e277-2bf0-6b04-4e31-7eb35e344321.png)
↓↓↓ レポートはこちらでご覧いただけます ↓↓↓
https://bit.ly/qiita-pbi-yugo
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

ただ、いちいち作るのも面倒です！っていう人もいると思います。
そんな人のために **Power BI** テンプレートファイル (pbit) を作成しました。

↓↓↓ ダウンロードはこちらから ↓↓↓↓↓↓↓↓↓
[ZIPファイル(2020.07.19 12:10 更新)](https://bit.ly/3kDDwG0)
※ 記事公開当初は **不具合** があったので修正しました
※ **2020.07.19 12:10** より前にダウンロードした方はもう一度ダウンロードしてください
※ ダウンロードし直したら、**カスタムコネクタ**はご自身のマシン上で上書きをしてください
※ **pbit** は開いて、**pbix** として名前を付けて保存してください
※ **Power BI Service** に発行している方は**再度発行**してください
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

# zip をダウンロードしたらやること
**【前提条件】**

- **Power BI Desktop** の最新版がインストールされていること（Power BI Desktop は Windows 版のみです）
- 外部公開する場合 ⇒ **Power BI Pro** を保持していること

手順は以下の通りです

**【ご自身のマシンで見れるようにする手順】**
1. Qiita のアクセストークンを取得
2. カスタムコネクタ (Qiita.mez) を該当フォルダにコピー
3. Qiita.pbit を開いて Qiita のアクセストークンを貼り付ける

ここまででご自身のマシンの Power BI Desktop でレポートを見ることが可能です。
Power BI Service に発行して、外部に公開したい場合は、もう少し手順が必要です。

## ご自身のマシンで見れるようにする手順
### 1. Qiita のアクセストークンを取得
https://qiita.com/settings/applications にアクセスをしてアクセストークンを取得します。
[新しくトークンを発行する] をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/be8fd7da-2e99-95b0-227a-eb86abf025d7.png)
[read_qiita] のみにチェックを入れて、発行する。発行したアクセストークンをコピーして保存しておく
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/d5e137ab-aa7d-8411-bee1-bfabc0f65dd6.png)

### 2. カスタムコネクタ (Qiita.mez) を該当フォルダにコピー
冒頭でダウンロードした ZIP を任意のフォルダに解凍してください。
解凍するとこんなフォルダとファイルが見えるはずです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/b4d0a659-c06c-95d9-a83c-68bcb10e3ae6.png)
**Qiita.mez** ファイルを **C:\Users\{ユーザー名}\Documents\Power BI Desktop\Custom Connectors** にコピーします。
**{ユーザー名}** はご自身のサインインユーザー名にしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/0f6a5ea4-36a0-1444-7f55-84897d974973.png)

### 3. Qiita.pbit を開いて Qiita のアクセストークンを貼り付ける
Qiita.pbit を開くと、以下の画面が出てくるので、先ほどコピーした Qiita のアクセストークンを貼り付けます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/2f0cbf28-2b2c-9fb1-dc35-e075bd116d88.png)
アクセストークンを貼り付けると、データの読み込みがはじまるので、終わるまで待ってください。
データの読み込みが終わると以下の様に表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/d3369f63-c2a9-793f-264e-7fb36336eb8a.png)
名前を付けて保存をしてください。
以降は、リボンの [更新] をクリックすることで、データを最新化することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/4109efa6-5e8c-ff22-741a-47e39956d377.png)

これでご自身のマシンで Power BI Desktop を使えば、いつでも最新のデータを見ることができるようになりました。

## レポートを Power BI Service に発行する
ご自身のマシンで見れるようになったわけですが、せっかくなので Power BI Service に発行したくなりますよね？
ここから先は Power BI のライセンスが必要になります。既に Power BI のアカウントを持っている方が対象です。

Power BI のアカウントを取得する方法は @PowerBIxyz さんの以下の記事を参考にしてください
**[Microsoft Power Platform の開発環境を準備する]**
https://qiita.com/PowerBIxyz/items/6b8ebe22f677d4ad846d

**【レポートを Power BI Service に発行する手順】**
1. Power BI Desktop から Power BI Service へ発行する
2. オンプレミスデータゲートウェイを適当なマシンにインストールして、使えるように設定する
3. そのマシンに カスタムコネクタ (Qiita.mez) をコピーする
4. Power BI Service でカスタムコネクタを使用してオンプレミスデータゲートウェイの設定をする

### 1. Power BI Desktop から Power BI Service へ発行する
レポートを発行するには、リボンの [発行] ボタンをクリックします。この時 Power BI のアカウントでサインインが求められますので、サインインをしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/3abfb781-2ea0-a02b-7693-c92f0dabb742.png)

### 2. オンプレミスデータゲートウェイを適当なマシンにインストールして、使えるように設定する
今回のレポートはカスタムコネクタを使用しているので、オンプレミスデータゲートウェイが必須となります。

**オンプレミス データ ゲートウェイをインストールする**
https://docs.microsoft.com/ja-jp/data-integration/gateway/service-gateway-install

上記のページの **[標準ゲートウェイをダウンロードおよびインストールする]** のみ実施してください。
ご自宅で余っているマシンでも OK ですし、クラウド上の仮想マシンでも OK です。
データ更新時にそのマシンが起動している必要があります。業務で使用する場合は 24 時間 365 日稼働しているマシンにインストールするのが普通です。

### 3. そのマシンに カスタムコネクタ (Qiita.mez) をコピーする
公式ドキュメントの説明としては以下になります。
**オンプレミス データ ゲートウェイでカスタム データ コネクタを使用する**
https://docs.microsoft.com/ja-jp/power-bi/connect-data/service-gateway-custom-connectors
オンプレミスデータゲートウェイを開いて、[コネクタ] のページを開くと、フォルダパスが表示されているので、そこに Qiita.mez を保存してください。
（以下の画像ではデフォルトのフォルダパスを変更しているので、ご自身の環境に合わせてください）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/9571a1af-0d9e-c22a-bb46-5640136df61a.png)

### 4. Power BI Service でカスタムコネクタを使用してオンプレミスデータゲートウェイの設定をする
Power BI Service の画面 (https://app.powerbi.com/home) を開いて、画面右上の **[歯車マーク]** - **[ゲートウェイの管理]** をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/4194654a-4166-c239-610e-26e03ecfd939.png)
ゲートウェイの管理画面で、オンプレミスデータゲートウェイをインストールした際に付けたゲートウェイの名称の右側の **[...] - [データソースの追加]** をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/6c4af697-c083-59b9-33ff-947f80e25c60.png)
**[データソース名]** に任意の名前（画像では Qiita）、**[データソースの種類]** で **Qiita** を選んでください
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/04fa5862-2100-9d3b-6764-028eb7d5d2e4.png)
**[アカウントキー]** には Qiita のアクセストークンを入力してください。
データソースのプライバシーレベルはご自身だけ使用するのであれは [パブリック] にしています。**[追加]** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/19261051-0664-6dc6-9234-626f9b22028f.png)
左側のメニュー **[データセット]** - **[Qiita]** の右側 **[...]** から **[更新のスケジュール設定]** を開きます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/2cb70772-b01d-19e2-ae9d-f6309808b40f.png)
**[ゲートウェイ接続]** を開いて **[マップ先]** で **Qiita** を選択し、**[適用]** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/7fe96c9e-7cb1-fec3-50a3-3b55282c48a6.png)
**[スケジュールされている更新]** を開いて、データ更新がしたい時刻を指定します。Power BI Pro の場合、最大 8 回/日です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/08e4f18b-655a-47bd-2f59-59f68a3f5904.png)
忘れずに **[適用]** をクリックしてください。

これでご自身の環境で指定した時刻にデータが更新されるようになりました。

## 外部に公開する場合
ここまでで、ご自身のアカウントでご自身のテナントにおいて、レポートが参照できるようになりました。
同一テナントの別ユーザーがレポートを見れるようにするには、以下の共有ボタンから共有するユーザーを指定すれば可能です
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/5f64c4be-99a4-fad3-e836-648e63ec795f.png)

もし、私が冒頭でお見せした通り、広くインターネットに外部公開するのであれば、以下の手順を実行してください。
（以下の手順は Power BI の全体管理者か Microsoft 365 の全体管理者のみ設定することができます）
画面右上の歯車マークから **[管理ポータル]** をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/fd53a3ac-9cae-6967-2d01-8a7fa5297a87.png)
**[テナント設定]** - **[Web に公開]** を開いて、**有効化** されていることと **[既存のコードと新しいコードを許可する]** にチェックが入ってることを確認してください。
そうなっていない場合は、設定し、適用してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/b897ae7f-f3bb-eefc-3c43-35100486f6a1.png)
レポートに戻って、**[...]** - **[埋め込む]** - **[Web に公開 (パブリック)]** をクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/2357368e-cec2-134d-415a-b5fc66428e37.png)
URL で共有する場合は１、Web サイトに埋め込む場合は２をコピーしてください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/cf5889e7-3760-8f5b-9966-f80f66fec42d.png)

これでインターネット公開が可能となります。
# まとめ
いかがでしたでしょうか？
全部設定するとちょっと手順が長いですが、ご自身のマシンで見れるようにするだけなら、簡単です。

今回の内容は、業務でも十分に応用が利く内容です。標準のコネクタで対応できない場合、カスタムコネクタを作成して、今回の方法でカスタムコネクタを組織内で共有すれば、受け取ったユーザーは複雑な Power Query を記載することなく、簡単に欲しいデータを取得することができます。

カスタムコネクタの開発について知りたい方は Kenichiro Nakamura さん(@kenakamu) の以下の記事を参考にしてください

**Power BI カスタムコネクター開発 : いつも使っている Power Query をパッケージする**
https://qiita.com/kenakamu/items/c32b46c985040a703a8c

また今回作成した Qiita のカスタムコネクタは、同じく Kenichiro Nakamura さん(@kenakamu) の以下の記事の方法をほぼそのまま使わせてもらいました。
**Power BI Desktop で Qiita の記事を解析してみる**
https://qiita.com/kenakamu/items/1274a71fcb5648d186a0

ぜひ、いろいろと工夫＆応用してみてください！！
楽しいものが作れたら、教えてくださいネ😁

最後まで読んでいただきありがとうございました。また気が向いたら、Power BI Tips シリーズ書きます。
皆様からのリクエスト、お待ちしております。

何かリクエストがあれば、以下までー🤗
Twitter: https://twitter.com/yugoes1021
Facebook: https://www.facebook.com/yugoes1021
LinkedIn: https://www.linkedin.com/in/yugoes1021/