Power BI で GitHub のデータに接続する方法～GitHub のデータを分析したい方へ～

本投稿は **2019年8月20日** 時点の情報です。今後変更されることもありますので、あしからず。
もし何か仕様が変わってできない！ということに気付かれ方は、コメントください！

#GitHub のデータを分析したい人へ
今どきの開発者の方なら、**GiHub** は息をするように使用していることでしょう。私はもはや開発者ではないので、見るだけでとても使っているとは言えないですが。
**GitHub** のユーザーと言っても、いろんなロールによって、使い方が異なると思います。

- リポジトリとして、自らのソースコードを公開している人
- プロジェクトのリポジトリとして、プライベートにしている人
- プロジェクトの管理者、またはプロダクトオーナーとして、日々状況把握に使用している人

様々だと思います。

どんな方であれ、**GitHub** のリポジトリには有益なデータが含まれています。使い方は自由です。

今回はそんなデータを **Power BI** で見たい、分析したいという方へ向けた記事です。

#この記事を書こうと思ったきっかけ
**Power BI Desktop** にはずいぶん前から **GitHub** からデータを取得するコネクタがあります。（ずっと**ベータ版**ですが）ふと使ってみようと思い、**Power BI Desktop** から接続を試みたところ、**残念な画面**が出て、接続できませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/22984a1a-648f-768a-2968-04a815e788dd.png)
画面上部に出てますね、残念なメッセージが。。。
これは **Power BI Desktop** の仕様によるものです。

**Power BI Desktop** 内では **Web へのアクセス**に未だに **Internet Explorer** を使用しています。**GitHub** は **IE** による接続をサポートしていないので、こういったメッセージが表示されます。**[Ignore]** をクリックしても**無駄**です。画面中央下部の緑色のボタン **[Authorize PowerBI]** がアクティブにならないからです。

もしかしたら読者の方の中には、ここで諦めた方もいらっしゃるかもしれません。
**さて、これをどうやって飛び越えるか？**

実は方法があります。今日はこれを説明します。

#Power BI から GitHub に接続してデータを取得する2つの方法
1. **Power BI Service** から **Power BI apps** を自環境にインストールして接続する方法
2. **Power BI Desktop** から **GitHub** へ接続する方法

先ほどの残念な画面は 2 の途中で接続が失敗する、というものです。で、1 を知っていれば、これらを合わせ技にすることで、この残念な画面を飛び越えられるんじゃね？と思って試したらできましたーということです。

なお **Power BI apps** を知らない方もいらっしゃるでしょうから、簡単に説明すると、**Power BI** の **Datasets, Reports, Dashboard** をまとめて **アプリ** という形で**テンプレート化**したものを **Power BI apps (Power BI アプリ)** と呼びます。作成された **Power BI apps** は**組織内に限って公開すること（プライベート）**もできますし、**広く世の中に公開すること（パブリック）**もできます。パブリックに公開されたものは [AppSource](https://appsource.microsoft.com/ja-jp/marketplace/apps?product=power-bi) で検索し選択して自環境にインストールすることが可能です。

詳細は以下をご覧ください。
**Power BI テンプレート アプリとは**
https://docs.microsoft.com/ja-jp/power-bi/service-template-apps-overview

**Power BI でアプリを発行する**
https://docs.microsoft.com/ja-jp/power-bi/service-create-distribute-apps

#実際の手順
さて、前置きはこのくらいで手順を記載していきます。まずは先ほどの残念な画面が出るまでです。

##1. Power BI Desktop でデータを取得 ～ GitHub コネクタ選択 ～ 接続
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/1fb20277-7471-abf2-ac17-003da330ac12.png)
**Power BI Desktop** を起動して **[データを取得] - "git" を検索 - GitHub (ベータ) を選択 - [接続]** をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/05b979a1-9442-04b0-6a33-877341855f39.png)
このメッセージは気にせず **[続行]**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/8d0e8c59-5024-b605-fea5-5aae2bffecf5.png)
**GitHub** リポジトリの **[所有者]** と **[リポジトリ名]** を入力して **[OK]** をクリック

**所有者とリポジトリ名って何？という方へ**
**GitHub** のリポジトリを開いたら **"[所有者] / [リポジトリ名]"** という表記になっているので /　(スラッシュ) で分割して、前が **[所有者]**、後ろが **[リポジトリ名]** です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/57b11b4e-9d03-01f5-945e-328d7d9e9597.png)
**[サインイン]** をクリックして、自身の **GitHub アカウント**を入力する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/b9ba86b4-6203-fe11-6bc0-fef79892416a.png)
そうすると、冒頭の**残念な画面**が表示されます。
画面上部にあるように**「GitHub はもはや Internet Explorer をサポートしません。Microsoft Edge, Google Chrome, Firefox を使用してください」**とのこと。

**「OK, つまりは該当アカウントでモダンブラウザから "Power BI で GitHub に接続する" という認証を通せばよいのだろう？」**
というわけで **Power BI Desktop** は開いたままで [Power BI service](https://app.powerbi.com/) へ移動。 

##2. Power BI apps で GitHub アプリをインストールして Authorization
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/ec3f6380-2c2f-4f9a-011a-b99f17ffe765.png)
**Power BI service** の画面左のメニューで **[アプリ]** を開き、画面右上の **[アプリの取得]** をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/a0af5764-917c-0991-48e3-85d5c7da5582.png)
**[アプリ]** を開いて、右上の検索ボックスに **"git" と入力 - 表示された GitHub の [今すぐ入手する]** をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/0aa57b3a-53c4-63bc-2df0-8dbddaa1e560.png)
**[インストール]** をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/2defcf28-c5df-dc85-7618-339c730b8bf6.png)
**[接続]** をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/95d11531-0d2c-164c-17b3-139d98bacd78.png)
**Owner (所有者)** と **Repo (リポジトリ名)** を入力して **[次へ]**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/90ca9315-f5e1-3f22-fafe-aefbcb8025d4.png)
認証方法は **[OAuth2]** のまま、プライバシーレベルは自組織内にのみ公開するなら **[Organizational]** を選択して **[サインイン]**

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/bea68209-35d8-f5a5-8819-be553295b729.png)
**Power BI Desktop** ではボタンが押せない残念な画面 Authorize 画面が表示されるので **[Authorize PowerBI]** をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/4f3e51c0-d000-2939-a224-150d2f731271.png)
ダッシュボード、レポート、データセットがアプリのワークスペースに出来上がる。試しにダッシュボードを開く

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/9cc1dc14-b3ce-d23a-8205-6cb322ed9ca9.png)
該当レポジトリにデータがきちんと表示される（↑ の画面はサンプルなので、データが空白になってる）

ここまでで無事 Power BI から GitHub へアクセスするための認証は通せたので、Power BI Desktop に戻ります
##3. Power BI Desktop で再度 GitHub へ接続
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/a9e1f1b3-00b8-42b7-b547-4a8401d0a0b0.png)
**Power BI Desktop** はこの画面で止まっているはずです。右上の **×** で画面を一度閉じましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/af7197d2-37b6-1205-df6d-0c7deba77976.png)
この画面で再度 **[サインイン]**　をクリック

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/a1899106-3608-4d37-29b7-4034d9c53fdc.png)
おそらく認証画面が立ち上がることなく、**サインインできる**はずです。**[接続]** ボタンをクリックします。サインインできなかった場合は、**Power BI Desktop** ごと閉じて、冒頭の **Power BI** の手順をやってみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/f524cc16-45e0-f4e2-1977-c76effaa9804.png)
**[ナビゲーター]** 画面で取得可能なテーブルが表示されます。取得したいテーブルにチェックを入れて **[データの変換]** をクリックしてください

- Contribution Punch Card
- Contributions
- Issues
- Milestones
- Pull Requests
- Repo Details

それぞれのテーブルにどんなデータが入っているかは、取得して確認してみてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/82885aa7-6609-17f6-5d30-b85c298b684d.png)
**Power Query** エディターが立ち上がるので、それぞれのテーブルのデータを確認して、よしなに加工。終わったら、左上の **[閉じて適用]** をクリックすれば、実際にデータが取得できます。

ここまでくれば、**GitHub** の該当レポジトリのデータは取得できているので、あとはいつも通りにレポートを作成し、**Power BI Service** に発行すれば、**OK** です！
#まとめ
いかかがでしょうか？無事に **Power BI Desktop** で **GitHub** のデータが取得できましたか？
もし何かエラーが出た場合は、もう一度最初からやり直してみてください。**Power BI** のレポートは最近流行りの **Microsoft Teams** のチャンネルにも貼り付けられるので、チーム内で進捗を確認するのも非常に便利です。

また自身でレポートを作成しなくても、**GitHub** の **Power BI apps** で事足りるという方は、それでも **OK** です！**GitHub** の **Power BI apps** は編集も可能ですので、そこから始めてみるのもいいかもしれません。
以下は **GitHub** の **Power BI apps** のサンプル画面です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/9fbff74f-0e7a-df0a-39f2-7c95c2b58421.png)
**Punch Card** というページ。曜日や時間帯ごとコミット数が表現されています
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/152946/05bdaa2e-48f8-d79e-b8d8-1b6c0660f730.png)
**Issues** というページ。文字通り、Issue の各数値が表示されています

皆さんなりの使い方を模索してみてください！！