CData Software ハンズオン（Microsoft PowerBIからTwitterのデータを可視化）

# 使用するCData製品

- [CData Twitter ODBC Driver](http://www.cdata.com/jp/drivers/twitter/odbc/)

# CData Twitter ODBC Driverのインストール

以下のサイトから評価版ビルドをダウンロードします。

- [CData Twitter ODBC Driver](http://www.cdata.com/jp/drivers/twitter/download/odbc/)

ダウンロードされたインストーラ形式(.exe)のファイルを起動します。
(注)ODBCデータアドミニストレーターを閉じてから実行してください。
(注)途中オンラインでのアクティベーションが実行されるためインターネットアクセス出来る環境で行ってください。

下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/5353e578-fd13-8329-2dbc-c11a805bf3c7.png)

インストールが完了するとデフォルトブラウザが起動して製品ヘルプファイルが起動します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/4c5bdbaf-6f06-bced-0da2-76402d67e61c.png)

また、ODBCのDSN構成ダイアログが表示されます。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/89b30a11-31ad-6a4f-1e6e-16fdc5ec8e1f.png)

（注）ODBCデータソースアドミニストレーターはマシンのビット数（32bit, 64bit）にあった方をご利用ください。

# CData Twitter ODBC Driverの接続設定

ODBCのDSN設定

起動した「ODBCのDSN構成」ダイアログ内の下記の項目に、[Twitter アカウント、および、TwitterでAPIアクセスするためのOAuthクレデンシャル取得方法](https://qiita.com/kuwazzy/items/7cdcb62962fc792bc82e)で事前に取得したOAuthクレデンシャル情報を設定します。

| TwitterのOAuthクレデンシャル | 設定項目 |
|:-----------------|------------------|
| Consumer Key (API Key) |OAuth Client Id |
| Consumer Secret (API Secret) | OAuth Client Secret |
| Access Token | OAuth Access Token |
| Access Token Secret | OAuth AccessToken Secret |

「接続テスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「ODBCのDSN構成」の「OK」ボタンをクリックして保存します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/8f3b7e2b-3381-eeb7-35bf-87fc8992a158.png)

# Microsoft Power BI Desktopでのデータ可視化

Microsoft Power BI Desktopを起動します。起動すると下記のダイアログが表示されるので「データを取得」をクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/a972e0cb-4cf6-2100-f979-3d7f21fd37b3.png)

「データの取得」ダイアログが表示されるので、「その他 > ODBC」を選択して「接続」をクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/7f5dddf2-4a3a-8b7b-ab80-109050d68ede.png)

「ODBCからインポート」ダイアログが表示されるので、「データソース名（DSN）」に「CData Twitter Source」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/277f1427-d597-4956-7ccd-c595eea824ab.png)

認証情報が求められますが、既にODBCのDSN設定にてOAuthクレデンシャル情報を登録済みのため登録は不要なのですが、「ユーザー名」が必須項目となっているため適当な文字列を登録して「接続」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/952d95c2-142f-b707-8d9a-3596717aca17.png)

「ナビゲータ」画面が表示されます。左側の階層を開いていくと、テーブルのリストが表示されます。今回は、あなたのTwitterアカウントがフォローしているユーザの情報「Following」テーブルを選択してみます。選択すると右側にデータのプレビューが表示されますので「読み込み」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/91c4343d-469d-7870-94eb-02a6c14a36eb.png)

レポートのキャンパスの画面が表示されます。右側のフィールドにFollowingテーブル内の各項目がリストとして表示されることを確認します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/dcacebf2-c79f-62d5-2978-a565a8923cb1.png)

積み上げ横棒グラフを選択して、右端のフィールドから「Name」を選択してドラッグ＆ドロップで「視覚化」内の「軸」にセットします。同様に、「Followers_Count」を「値」にセットします。フォローワー数が多い順に表示するためには「Followiwers_Countで並べ替え」を行います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/c232c7e2-96a6-d87d-bfdc-98aa567e3206.png)

右側のレポートエリアに「特定ユーザのツイートに対するRetweetランキング」を表示します。「ホーム」タブ内の「データを取得」をクリックして、「さらに表示」をクリックすると、先の手順と同様に「データの取得」ウィザードが表示されます。「その他 > ODBC」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/b7026aa7-8b5f-9fd3-1b47-91228ab17d45.png)

「ODBCからインポート画面」にて、「データソース名(DSN)」に「CData Twitter Source」を選択して、「詳細設定オプション」を開き、「SQLステートメント」にTweetテーブルから該当ユーザのみのツイートのみ100件取得するSQLを記述します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/8b52b84c-3996-05cc-57e0-0408aa8a6d29.png)

```sql
SELECT * FROM [CData].[Twitter].[Tweets] WHERE From_User_Id = '709991506229248001' LIMIT 100
```
(注)TwitterのAPIはRateLimit（一定時間内のAPIリクエスト数の制約）が厳しいので、一定回数以上、もしくは、SQLのLimitを外して実行すると上限に達する場合があります。その場合は、１５分間経過後に実行ください。
[Twitter Developers - Rate limits](https://developer.twitter.com/en/docs/basics/rate-limits)

データのプレビューが表示されるので「読み込み」を行います。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/d8ac3577-e762-2e83-f1ac-a0bd23bf1eb6.png)

「視覚化」から「テーブル」を選択して右側のレポートエリアにドラッグ＆ドロップします。データセットの名称を適切な「Tweet」に変更して、本データセット内の「Created_At」「Text」「Retweet_Count」を「視覚化」内の「値」にセットします。テーブル内の幅を調整して「Retweet_Count」を降順に設定します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/13bb39e2-3c40-c94b-3051-2e2e77960463.png)

必要に応じて左上の保存ボタンをクリックして作成したレポートを「Power BI ファイル（*.pbix）」として保存してください。
Microsoft PowerBI DesktopからTwitterのデータを可視化することが出来ました。