オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その３ 〜 Google Spreadsheets編

* [オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その１ 〜 インストール編](http://qiita.com/wapa5pow/items/9e3feb19c0e7c80476d0#_reference-a6d2407ea33d8742da0d)
* [オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その２ 〜 グラフ編](http://qiita.com/wapa5pow/items/1455222b519946dc16db)
* [オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その３ 〜 Google Spreadsheets編](http://qiita.com/wapa5pow/items/312686403700a8e454df)
* [オープンソースのデータ可視化ツールのre:dashでらくらく分析共有 その４ 〜 pivot table編](http://qiita.com/wapa5pow/items/0d7ab1735ba4137f141c)

前回まではMySQLにつなげていましたが、今回は Google Spreadsheets とつなげてみます

# re:dashでGoogle Spreadsheetsが扱える仕組み

[ここ](http://docs.redash.io/en/latest/datasources.html#google-spreadsheets)にドキュメントがあるのですが、re:dashではpythonモジュールのgspreadとoauth2clientを使ってGoogle Spreadsheetsからデータをとってきています。

# 手順概要

1. Google Developer Consoleでプロジェクトを作成
2. Service account keyの発行
3. APIを有効にする
4. Google Spreadsheetsのデータソースの作成
5. データセットを用意してGoogle Spreadsheetsにあげる
6. ビジュアライゼーション

# Google Developer Consoleでプロジェクトを作成

re:dashからGoogle Spreadsheetsにつなぐには、Service account keyをGoogle Developer Consoleから発行する必要があります。

まずプロジェクトをつくります。今回はredash-sampleという名前にしました。

![Home_-_redash-sample.png](https://qiita-image-store.s3.amazonaws.com/0/30079/41edd86a-17e3-9b60-121c-b3f2a1f793e2.png "Home_-_redash-sample.png")

# Service account keyの発行

つぎにAPIのメニューで、Service account keyを発行します。
この手順を行うと最終的にjson形式のファイルがダウンロードされます。これはあとから使うので適切なところに保存しておきます。

![Home_-_redash-sample.png](https://qiita-image-store.s3.amazonaws.com/0/30079/c6dad8cc-4150-193d-c359-fd245cb8c971.png "Home_-_redash-sample.png")

![Credentials_-_redash-sample.png](https://qiita-image-store.s3.amazonaws.com/0/30079/b8a989df-291e-fd28-68e6-87e680e5a743.png "Credentials_-_redash-sample.png")

![Create_service_account_key_-_redash-sample_と_Dash.png](https://qiita-image-store.s3.amazonaws.com/0/30079/e7c48891-eca0-0611-1e25-8fe0ed8ec371.png "Create_service_account_key_-_redash-sample_と_Dash.png")

# APIを有効にする

つぎにOverviewからDrive APIを探してenalbedにしておきます。

![API_Library_-_redash-sample.png](https://qiita-image-store.s3.amazonaws.com/0/30079/3374bae0-e140-dbfc-d1ca-0bd18b17821e.png "API_Library_-_redash-sample.png")

# Google Spreadsheetsのデータソースの作成

以下のように作成します

![re_dash___Data_Sources.png](https://qiita-image-store.s3.amazonaws.com/0/30079/10e1754b-d955-2c16-4106-38aacb1d2668.png "re_dash___Data_Sources.png")

# データセットを用意してGoogle Spreadsheetsにあげる

[平成22年基準消費者物価指数](http://www.e-stat.go.jp/SG1/estat/List.do?bid=000001033702&cycode=0)のページの中分類指数（1970年1月～最新月）をcsvでダウンロードしてきてこれをGoogle Spreadsheetにあげます。

その後、以下のようにデータを整形します。A1はYYYYMMのほうが適切かなとおもったのでかえました。

![平成22年基準消費者物価指数_-_Google_Sheets.png](https://qiita-image-store.s3.amazonaws.com/0/30079/c82771b1-1c33-ef49-a56e-48eb87bb8724.png "平成22年基準消費者物価指数_-_Google_Sheets.png")

そして、これをService account keyのjsonの中にあるemailにシェアします

![平成22年基準消費者物価指数_-_Google_Sheets.png](https://qiita-image-store.s3.amazonaws.com/0/30079/c9bd95d6-4b20-bcb5-c006-d6b87561efea.png "平成22年基準消費者物価指数_-_Google_Sheets.png")

# ビジュアライゼーション

Google SpreadsheetのURLが以下の場合とします。
 
![平成22年基準消費者物価指数_-_Google_Sheets.png](https://qiita-image-store.s3.amazonaws.com/0/30079/5f2a3cd2-ec0b-bdee-f4c9-b0669f83c95d.png "平成22年基準消費者物価指数_-_Google_Sheets.png")

そのときに、New Queryで作成する値には、以下をいれます。
「URLにあるkey」と「スプレッドシート番号(0から始まる)」を「|」で区切っていれます。

![re_dash___New_Query.png](https://qiita-image-store.s3.amazonaws.com/0/30079/17afeb7b-12af-fff3-9c69-492d36da0637.png "re_dash___New_Query.png")

適当にビジュアライゼーションすると、以下のようになります。
ほうほう、家賃は下がっているのですね。

![re_dash___New_Query.png](https://qiita-image-store.s3.amazonaws.com/0/30079/801afbf9-420c-833e-2a3d-0082a9e0080c.png "re_dash___New_Query.png")

# まとめ

re:dashでGoogle Spreadsheetsのデータを取得してビジュアライゼーションまで行ってきました。
Google AnalyticsをGoogle Spreadsheetsで取り込みre:dashでビジュアライゼーションするということもできそうですね。
難点はSpreadsheetsの読み込みが遅いことです。今回使ったのだとインポートに20秒以上かかってました。