Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@hiro_koba_jp

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

概要

営業分析する際に、kintone上の売上、顧客、案件データの分析は非常に重要になってきます。しかし、そのような分析を行うには、多くのデータを分析基盤に統合するという手間のかかる作業が待っています。
そこで、今回はkintoneのデータをBigQueryにtroccoを使ってデータを統合し、Googleデータポータル(旧Data Studio)で可視化するまでを行ってみます。

その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。
troccoの使い方まとめ(CRM・広告・データベース他)

転送画像.png

ゴール

このようなkintoneの営業データから
image.png

こんなのを30分くらいで作り上げます(当然、作ったあとは自動で最新値が更新されるようにします)
image.png

こんな人におすすめ

  • kintoneのデータを分析基盤・DWHに取り込みたい方
  • 分析基盤・DWHにkintoneのデータを毎回CSVエクスポートし取り込んでおり、時間の浪費に悩んでいる方
  • 様々なデータ取得の作業に疲れている方

1. DWHと同期する手段の選定

1-1. DWHの選定

まずはデータをどこに集約するか、DWH(データウェアハウス)を選定します。

  • Google BigQuery
  • Amazon Redshift
  • MySQL
  • PostgreSQL など

今回はGoogle BigQueryを利用することにします。

1-2.kintoneのデータをBigQueryに転送する3つの方法

BigQueryにデータを集約することが決まったので、次は転送するための手段を検討していきます。

1. kintoneデータをCSV形式でエクスポートし、手動でBigQueryにアップロードする。
2. kintoneとBigQueryの各APIを、プログラムを書いて連携する。
3. Embulkを利用し、自分で環境を構築する
4. troccoを利用し、画面上で設定する。

1. は単発の実行であればよいのですが、定期的な取り込み用途だと毎回同じ作業を繰り返すことになり、非効率な作業になりがちです。
2. はAPIのキャッチアップ工数+プログラムを書く工数+環境構築工数が発生する他、エラー対応などの運用工数も継続的に発生します。
3. も2と同じくEmbulkはある程度の専門知識が必要になり、自前で環境構築・運用を行う手間が発生します。加えてエラーの内容が少し専門的です。

そこで今回はEmbulkの課題も解決してくれて、プログラムを書かずに画面上の設定で作業が完結する、4.troccoというSaaSを利用します。

2. troccoでkintone→BigQueryの転送自動化

2-0. 事前準備

troccoのアカウントおよびkintoneのアカウントが必要です。
無料トライアルも実施しているので、事前に申し込み・登録しておいてください!
(申込時に、この記事を見た旨を記載して頂ければご案内がスムーズです)

2-1. 転送元・転送先を決定

troccoにアクセスし、ダッシュボードから転送設定を作成ボタンを押します。

image.png

転送元にkintone、転送先にBigQueryを選択し、転送設定作成ボタンを押します。
image.png

すると、設定画面になるので、設定画面から必要な情報を入力していきます。

2-2. kintoneとの連携設定

転送設定の名前とメモを入力します。

image.png

転送設定の名前とメモを入力したら、「転送元の設定」内の「接続情報を追加」ボタンを押し、kintoneの接続情報の設定を行います。

image.png

データを取得したいkintoneの情報を入力し、接続情報を作成します。
image.png

2-3.kintoneからのデータ抽出設定

これでkintoneとの連携は完了です。
次に、kintoneのアプリや取得データを設定します。
kintoneの画面に記載されていないメタデータ(idや更新日時など)は、Cybouzuの開発者向けサイトにを参考に設定していきます。
クエリによる転送レコードの絞り込みも可能で、今回は、日付が今年のレコードに絞って転送を行なっています。

image.png

また、カスタム変数を使うことにより、ジョブ実行時に指定の値に置き換えることができます。

以上でkintone側の設定は完了です。
次は転送先のBigQueryの設定を行っていきましょう。

2-4. 転送先BigQueryの設定

転送元と同じ要領で設定していきます。
データセットとテーブルは好きな名前を入力していきます。自動生成オプションを有効にすれば、データセット・テーブルが自動作成されます。

また、カスタム変数を使うことにより、ジョブ実行時に指定の値に置き換えることができます。

BigQueryデータセットのロケーションを指定することができます。デフォルトはUSリージョンです。
東京リージョンを指定する場合はasia-northeast1を入力して下さい。

image.png

これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。

2-5. データのプレビュー

転送元のデータがプレビューされます。ここではkintoneの取り込んだデータが表示されています。
問題なければ、設定完了するを押下し、スケジュールや通知設定に進みます。

image.png

2-6. スケジュール設定

「スケジュール・トリガー設定」タブを開きます。

image.png

以下のように実行スケジュールを設定することで、転送を自動化することが出来ます。

image.png

2-7. 通知設定

今回の自動同期には、必須の設定ではないですが、通知タイプ・通知条件・通知先を選択し設定を保存することで、EmailまたはSlackに通知を行うことが出来ます。

image.png

また、必要な時のみ実行したい場合は、手動で行うことも出来ます。
その場合は、転送設定詳細の「実行」ボタンを押下し進めていきます。

image.png

3. BigQueryの設定

特に設定することありません。データが溜まっているので、今すぐに分析・可視化を行うことが出来ます。
データをプレビューして確認してみます。

image.png

4. Googleデータポータル(旧データスタジオ)で可視化

BigQueryの画面から、「エクスポート > データポータル」を選択します。

image.png

すると、以下のようなData Portalの画面に遷移します。
試しに、ユーザー毎の売上の月次推移を可視化してみましょう。

image.png

すると、以下のようなグラフが出来上がります。
この画面はデータポータルの「エクスプローラ」という機能になります。
「エクスプローラ」は定期的に閲覧するデータの変化の原因をアドホックに分析する際に使うイメージです。

image.png

データポータルのトップ画面から、「レポート」を作成し、
上述の通りに売上以外の案件数、成約数などのグラフ作成を行うと、今回のゴールの営業のKPIダッシュボードが出来上がります。

image.png

image.png

まとめ

いかがでしたでしょうか。troccoを使うと管理画面を触ることなく、簡単にkintoneのデータを取得し、DWH(BigQuery)に貯めることが出来ました。
また、BigQueryにデータを貯めると、データポータルというGoogleの無料ダッシュボードですぐに可視化することが出来ます。
実際に弊社サービスのtroccoにおいても、セールスのデータやマーケティングKPI等をこのような流れで収集・分析しています。

試してみたい場合は、無料トライアルを実施しているので、この機会にぜひ一度お試しください。
(申込時に、この記事を見た旨を記載して頂ければスムーズにご案内できます)

その他にも広告やデータベースなど、様々な分析データをETL・転送した事例をまとめました。
troccoの使い方まとめ(CRM・広告・データベース他)

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What is going on with this article?