Facebook のデータを Power BI で表示してみると…？

#Power BI Desktop にある Facebook コネクタを使ってみる
**Power BI Desktop** には標準で様々なデータへのコネクタが内包されています。
このコネクタは **Facebook Graph API** を利用して、自分の **Facebook** での活動のデータを取得することができます。

[データを取得] をクリックするとこんな画面が出てきます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/152946/5981e731-8756-629c-afd6-134fba99e1fd.png)

[さらに表示] をクリックすると、Power BI Desktop で接続可能なコネクタが表示されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/152946/55676889-31b2-f5e9-11a0-f1999b0327a8.png)

ここで [オンライン サービス] の中に [Facebook] があります。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/152946/f7bf0182-22e6-22e4-8b07-9a46d662ff8c.png)

#Facebook コネクタの使い方
公式ページにチュートリアルがありますので、以下の URL から試してみてください。

###[チュートリアル: Power BI Desktop を使用して Facebook を分析する]
https://powerbi.microsoft.com/ja-jp/documentation/powerbi-desktop-tutorial-facebook-analytics/

また Power BI 勉強会 第5回 で私がお見せした資料もリンクを貼り付けておきます。参考にしてください。
###[Facebook のデータを Power BI で見てみると…]
https://www.slideshare.net/yugoes1021/facebook-power-bi

この資料の中で言及していますが、Power BI Desktop で Facebook コネクタを使用する際の注意点は２つです。
1. 初期設定の URL
2. created_time の扱い

順に説明していきます。

#Power BI の Facebook コネクタ 初期設定の URL
1 については初期設定のままだと最新ではない **Facebook Graph API** になっている可能性が高いので、以下のリンクで最新バージョンを確認してください。
###[Facebook Graph API 更新履歴]
https://developers.facebook.com/docs/graph-api/changelog

#クラウドサービスの日時の扱い - UTC
2 ですが、これは **Facebook** に限ったことではなく、クラウドサービスや SaaS のデータを取得する際は、基本的に **協定世界時(UTC)** であることが多いです。**世界標準時**といった方が伝わるかもしれません。昔々でいうところの**グリニッジ天文台の時刻(GMT)**だと思って、まず間違いないです。

厳密にいうと
**UTC** は**「世界共通の標準時であり、セシウム原子時計によって刻まれる国際原子時をもとにして常に正確に保持されている」**
**GMT** は**「Greenwich Mean Time のことでグリニッジ標準時と訳される。グリニッジとはイギリスのロンドンにあるグリニッジ天文台のこと」**
で、現代では原子時計を元に人工的に調整した UTC が一般的に使われています。
引用元：https://www.localtime.jp/utc-gmt/

ちなみにご存知の通り、UTC に 9 時間プラスすると日本の**標準時間(JST)**になります。

#タイムゾーン付きの Datetime
**Facebook Graph API** は、json データを返してくるのですが、実はこの json にはきちんとタイムゾーンがわかる形で**日時(datetime)**が含まれています。ただそれを **Power BI Desktop** で読み込む際に、デフォルトでは単なる **Datatime** 型へ変換されてしまうため、タイムゾーンが **+00:00** になってしまいます。これは **UTC** を表すことになるので、**Power BI Service** へ発行すると UTC として認識されてしまい、日本時間の午前 9:00 に投稿した書き込みが、深夜 0:00 の書き込みとしてグラフや表が表示されてしまいます。

これを防ぐには上記の [SlieShare](https://www.slideshare.net/yugoes1021/facebook-power-bi) の私の資料 P.32 をご覧ください。クエリエディターで **PowerQuery(M言語)** を修正してあげれば、大丈夫です。（面倒ですが…）

#【参考】サンプルのテンプレートファイル
[Power BI 勉強会 第5回](https://powerbi.connpass.com/event/63008/)に参加された方には、ここまでの設定がされた pbit ファイルを配布しました。
Advent Calendar ということで、今回はここでご案内します。
以下のリンクからダウンロードしてください。
[Facebook.pbit]
https://1drv.ms/u/s!AvEqmyVV6j0Wh7126TGs4sLVgpU0wg

**pbit** ファイルとは **pbix** ファイルの**テンプレート**で、データソースへの接続設定やグラフの作成 および 設定を**含ませることができます**。Microsoft Excel や Word、PowerPoint 等でもテンプレートファイルは作れるのですが、同じく Office ファミリーに近い歴史をたどってきた Power BI Desktop でもテンプレートファイルが作成できます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/152946/9607028b-d88a-b307-ece3-17e3e2e51f0f.png)

テンプレートファイルの良いところは**「無題のファイル」として開かれて、作業が終わって保存しようとすると、必ず「名前を付けて保存」になるところです。**つまり、テンプレートファイルへの**上書きはまず起きません**。テンプレートファイルを更新したければ、ファイルの種類で「テンプレートファイル」を選択して、元のテンプレートファイルと同名にする必要があります。

今日まで [Power BI Advent Calendar](https://qiita.com/advent-calendar/2017/power-bi) でいくつかのチップスが紹介されていますが、例えば、**カレンダーテーブル**は、**自組織に合った形で作成しておいて、それをテンプレートファイル(.pbit) として共有フォルダに保存し、Power BI レポートを新たに作成する際は、必ずこのテンプレートファイルから作成してくださいとルール化してしまえば、毎回イチから作成する必要がなくなります。**

上記のテンプレートファイルから私が作成したダッシュボードのイメージを共有しておきます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/152946/6cdefbe1-2f0e-9056-999a-b613c66138ef.png)

#最後に
皆さんもこんな感じでご自身の Facebook データをダッシュボードにして、**セルフマーケティング**をしてみてください。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/152946/a0bd5533-855d-ba64-f631-bd3b70878672.png)

これは**投稿時間帯ごとの投稿数およびいいね！の数**ですが、これを見てるとやはり**自分の通勤時間帯は投稿数が増えて**いますし、それを見た「友達」の皆さんのいいね！の反応は 
- 8 時 ～ 9 時
- 13 時
- 19 時 ～ 22 時
が多くなっています。
**マーケティング的**にはこれを逆手に取らない手はないですよね？

**投稿しても見てもらえない時間**に一生懸命活動すると**非常にもったいない**です。
やはり見てくださる方が多い**時間帯**を狙うべきです。

といったセルフマーケティングの戦略が立てられます。

ぜひこんな感じでセルフマーケティングはもちろん自社のマーケティングへも活用してみてください！