kintoneの営業データをBigQueryに自動同期し、Googleデータポータルで可視化する

## 概要
Kintone(キントーン)でアプリを作成し、顧客や案件の管理などに役立てている企業では、Kintone上のデータを可視化し、分析したいと考えている方が多いのではないでしょうか。
しかし、分析するためには、多くのデータを分析基盤に統合するという手間のかかる作業が待っています。

大量のデータをリアルタイムで分析したい場合や、Kintone上のデータと、Kintone以外のデータを突合させた上で高度な分析を行いたい場合には、別途DWH（データウェアハウス）へデータを統合し、Looker・TableauといったBIツールを用いてデータの可視化を行い・分析を行うという流れが有効です。
そしてこのようなデータ統合の作業に役立つのがETLツールと呼ばれるサービスです。

今回は[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)（トロッコ）という分析基盤向けデータ統合サービスを使い、KintoneのデータをGoogle BigQueryへ統合、同じくGoogleが提供するGoogleデータポータルというBIツールを用いてデータの可視化を行います。
なお今回データの転送手段として使用する[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)は、Kintoneの他、様々な広告・CRM・DBなどのデータソースに対応しています。  
[trocco®の使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)
![Troccoアイコン.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/09c97059-0122-ea57-b553-476e00f6fa82.png)

## ゴール
今回はサンプルの顧客データをGoogle BigQueryへ転送し、そのデータをこのようなグラフに可視化することを目標にします。  
また、今回はデータベースに関する専門的な知識がない方でもデータ分析が行えるようKintoneのアプリ開発と同様にほぼコードをかかずに分析基盤を構築し、またデータおよびグラフの更新も自動化します。  
![qiita用テストレポート 2022-03-28 11-53-22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/e321b66a-6766-7205-0b9c-8ab9d5fc0512.png)
## こんな人におすすめ
* Kintoneのデータをもとに高度な分析を行いたい
* Kintoneに登録したデータの件数が多すぎて、標準のレポート機能では分析ができない
* 複数アプリのデータを統合する方法がわからない
* Kintoneのデータが自動的に可視化される環境を構築したい
## 1. trocco®での設定
### 1-0. 事前準備
まず事前準備として今回のデータ転送に使用する[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)のアカウントが必要になります。  
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)はフリープランがあるので、アカウントを作成しておきましょう。  
[https://trocco.io/lp/inquiry_free.html](https://trocco.io/lp/inquiry_free.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)  
またデータ元となるKintoneのアカウントや、データの転送先となるGoogle BigQueryとGoogleデータポータルを利用するGoogleアカウントなども前もってご用意ください。
  
### 1-1. 転送元・転送先の決定
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)にアクセスして、ダッシュボードから「転送設定を作成」ボタンを押します。  
![trocco | 「日本発」の分析基盤向けデータ統合自動化サービス 2022-03-28 14-26-43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/7827597c-2bcc-4ef1-1057-e2c6a1fe4045.png)
転送元と転送先となるツールを選択する画面になります。  
今回は転送元に「Kintone」、転送先には「Google BigQuery」をそれぞれ選択し、「この内容で作成」ボタンを押します。  
![転送設定の新規作成 | trocco 2022-03-28 14-29-37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/c2b06af3-7299-62f7-bb53-d4a334fe003b.png)
### 2-1. Kintoneからの転送設定
まずは右上の「接続情報を追加」ボタンを押します。  
![転送設定の新規作成 | trocco 2022-03-28 16-40-08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/131b0409-b5b8-728f-e441-a95790353168.png)
別のタブでKintoneへの接続情報を入力する画面が開きます。KintoneアカウントのユーザーIDやパスワード、[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)がKintoneにアクセスするために必要情報を入力します。
転送設定画面に戻り、「接続情報を読み込む」ボタンを押すと右の▽マークから入力した接続情報を読み込めます。  
※トップページの「接続情報」タブから事前に接続設定を済ませておくことも可能です。  
接続情報が読み込めたらオブジェクトを選択します。このように接続したKintoneアカウントで取得可能なオブジェクトが一覧で表示されるためその中から選択するだけで済みます。  
![転送設定の新規作成 | trocco 2022-03-28 16-41-58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/44c5c374-3a1f-0db3-1ab5-484ba6f4764a.png)
接続情報がきちんと設定されていればKintoneアプリの一覧も読み込むことが可能です。読み込んだアプリの一覧からデータを取得したいアプリを選択し、フィールド設定を行います。
![転送設定編集 | trocco 2022-03-25 18-26-39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/9ccb4b9a-5780-51fb-6f8b-4ebe2d2c9109.png)
### 2-2. Google BigQueryへの転送設定
転送元のKintoneと同じく接続情報の設定をしていきます。Google BigQueryについても「接続情報を追加」ボタンから別のタブで接続情報の設定画面を開きます。Google BigQueryを利用するGoogleアカウントの認証を行います。  
※トップページの「接続情報」タブから事前に接続設定を済ませておくことも可能です。
![転送設定の新規作成 | trocco 2022-03-28 16-47-15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/22487dde-45ef-23ed-a30a-b2570ca8d64d.png)
Kintoneの設定と同様に接続情報を読み込み、データセット、テーブルの名前をそれぞれ入力します。  
（事前にGoogle BigQuery側で作成しておきましょう）
![スクリーンショット 2022-02-21 18.22.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/a7f9fdb9-6af9-d8fa-ccd6-8fe2df20eb8a.png)
入力が済んだらページ最後の「次のSTEPへ」ボタンを押します。
![転送設定の新規作成 | trocco 2022-03-28 15-48-36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/25df0920-0cc4-7bb7-69fe-71bc600dd298.png)
### 2-3. データのプレビュー・詳細設定
設定にしたがって転送のレビューが作成されます。
![データプレビュー・詳細設定 | trocco 2022-03-25 18-30-48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/5151d276-6278-aacc-c775-4650e5e9e2ba.png)
プレビュー画面では転送元からどのようにデータが取得されるのかが確認できます。
取得したいデータがプレビュー画面に表示されなければ再度転送元と転送先の設定に戻り、設定を修正します。  
データ自体は特に問題なく取得できているようですが、Google BigQueryはカラム名に日本語を使用できないため、プレビュー画面下部の「詳細設定」からデータの加工設定を行い、転送時にカラム名を変更するよう設定します。  
![データプレビュー・詳細設定 | trocco 2022-03-25 18-44-44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/00fcb20a-04e8-0a57-c099-a0c37ad6e814.png)
変更をプレビューに反映させると、たしかにプレビューのカラム名が変更されています。これで問題ないので「確認画面へ」を押します。
![データプレビュー・詳細設定 | trocco 2022-03-25 18-45-46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/e57ab5eb-d7ff-0dea-0356-f4c55a55761a.png)
### 2-4. 確認・適用
転送設定の内容が確認できます。過去に作成した転送設定の内容を編集した際にはこの画面でその差分がハイライト表示され、確認をすることが可能です。  
今回は設定の新規作成なので、特に確認することはありません。右下の「保存して適用」ボタンを押します。  
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)には転送設定の変更履歴をビジュアライズし、任意の地点の設定に復元できるロールバック機能があります。  
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)を共有して使用し、チームでデータ分析にあたる場合などは、転送設定の変更についてこの画面で簡単なメモを残しておきましょう。  
![スクリーンショット 2022-03-07 13.56.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/06ddb76a-8c23-2cf3-7b0e-f4931ff77026.png)
### 2-5. スケジュール設定

「スケジュール・トリガー設定」タブを開きます。  
「スケジュールを追加」ボタンを押すと、設定のモーダルが出てきます。
![転送設定詳細 (Qiitaテスト) - スケジュール・トリガー設定 | trocco 2022-03-25 18-47-23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/f4a76003-2eda-5feb-e0e3-c5f63543d853.png)
以下のように実行スケジュールを設定することで、転送を自動化することができます。
（今回は毎日０時に転送を行うよう設定しました。）
![転送設定詳細 (Qiitaテスト) - スケジュール・トリガー設定 | trocco 2022-03-25 18-48-19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/c05d92ec-4e25-6a7a-00e3-2317886b8aae.png)
![転送設定詳細 (Qiitaテスト) - スケジュール・トリガー設定 | trocco 2022-03-25 18-49-10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/3113d942-a0cc-581d-2c0d-d36749694f9e.png)
### 2-6. 通知設定
「通知設定」のタブに移動し、「通知設定を追加」ボタンを押します。
![転送設定詳細 (Qiitaテスト) - 通知設定 | trocco 2022-03-25 18-49-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/b9fb18f5-bbf1-7ec2-4737-86583d10bd94.png)
下のような設定のモーダルが出てきます。通知のタイミングや条件は希望に応じて設定できる他、通知先はメール通知とSlack通知が選択できるため、社内での情報共有もスムーズに行うことができます。
![転送設定詳細 (Qiitaテスト) - 通知設定 | trocco 2022-03-25 18-50-41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/9defedfe-fe5f-af1b-9aad-2f859fd322dc.png)
### 2-7. データ転送ジョブの実行
設定は以上で終わりです。データの転送は以後自動的に行われますが、今回はこのまま右上の「実行」ボタンから手動で転送を実行します。  
![転送設定詳細 (Qiitaテスト) | trocco 2022-03-25 18-46-39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/2bab2cd9-180d-121e-35bf-45923440debb.png)
転送の実行に際し、その目的などをメモとして残しておくことができます。特に書くことがなければ再び「実行」ボタンを押します。  
![新規転送ジョブの実行 | trocco 2022-03-25 18-51-51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/d191f879-9e4a-2d63-f453-9303d73beec2.png)
ジョブが実行されます。  
![転送ジョブ詳細 | trocco 2022-03-25 18-52-23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/eb1ea42c-4e15-fd5a-c15f-0afc8ccd9205.png)
しばらく待つとジョブが終了します。  
![転送ジョブ詳細 | trocco 2022-03-25 18-54-21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/3d2f9b3a-4f56-67c0-6694-1dcbace200fb.png)
## 3. Google BigQueryの設定
Google BigQuery側での操作は必要はありませんが、コンソール画面からプレビューで転送結果を確認すると、たしかにデータが転送されていることが確認できます。  
![SQL ワークスペース – BigQuery – trocco-ambassador-s… – Google Cloud Platform 2022-03-28 10-58-05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/291b4a69-ec47-ac70-e729-e09bbbec5156.png)
## 4. Googleデータポータルでの可視化
最後にGoogleデータポータルを用いてデータの可視化を行います。まずはトップ画面の「新規」から新しいレポートを作成します。   
![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/83c55d02-139c-80bb-74a0-c2558096ea1e.png)
データ元となるサービスを選択します。今回はGoogle BigQueryを選択します。
![24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/eeb85555-1290-5af1-3c42-9f05e11f840b.png)
データの転送先となるプロジェクト、データセット、テーブルを選択してデータをデータポータルに読み込ませると、レポートの編集画面に移動します。
レポートの編集画面では画面右側に表示されるそれぞれのフィールドをディメンション・指標に追加してグラフを作っていきます。
![qiita用テストレポート 2022-03-28 11-05-10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/afb9176d-3540-8eab-cf86-0d359a997fb6.png)
![qiita用テストレポート 2022-03-28 11-44-02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/b392e7e1-1c94-37d2-c603-fa780afe1a10.png)
画面右上の「グラフ」には主なグラフがいくつか用意されています。適当なものを選択することで簡単にグラフを作成できます。
![qiita用テストレポート 2022-03-28 11-44-28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/eac49452-b66a-29a8-0b46-351b874ff95d.png)
同様にもうひとつグラフを作成し、ダッシュボードに配置します。見た目のテーマや、レポートの自動更新設定を行って完成です。
![qiita用テストレポート 2022-03-28 11-53-22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1071783/c8e44261-7532-db12-d263-37a6fa92709c.png)
## まとめ
ほぼ画面上の設定のみでKintoneのデータをGoogle BigQueryへ統合し、Googleデータポータルを用いてデータの可視化を行いました。
[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)の「スケジュール・トリガー機能」の設定を行ったため、以降Kintoneに新しく追加されたデータは定期的にGoogle BigQueryへ転送されます。
Googleデータポータルのレポートも自動更新機能によって常に最新の状態が維持されます。
今回はごく簡単なサンプルのデータを用いた転送を行いましたが、[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)を利用し、大量のデータをGoogle BigQueryへと統合することでデータを安価にかつ高速で処理するが可能です。  
実際に弊社サービスの[trocco®](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)においても、マーケティングKPI等といった各種データはこのような流れで収集し、分析を行っております。  
データ分析の際にはぜひご活用ください。  
[https://trocco.io/lp/index.html](https://trocco.io/lp/index.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)  
実際にデータ統合を体験してみたい方は、[フリープラン](https://trocco.io/lp/inquiry_free.html?utm_medium=social&utm_source=qiita&utm_campaign=kintone_to_bigquery_dataportal)がありますので、この機会にぜひ一度お試しください。  
その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。  
[trocco®の使い方まとめ（CRM・広告・データベース他）](https://qiita.com/hiro_koba_jp/items/2b2caa040804e402bda7)