SalesforceとG Suiteの機能でBig Queryにデータを流し込む方法
本記事のターゲット
・Salesforceが好きでBig Queryも好きな人
・Salesforceが好きでBI製品も好きな人
・インポートしたいデータ種類の数が少ない人(多くのオブジェクトを流し込みたい人はCdataやtoroccoの契約をおすすめします)
00:自己紹介
HR業界で働いております。Salesforce好き、Big Query好き、Tableauも大好き。最近はSNSで各種ツールの利用で悩んでいる方向けに無料で相談乗っています。何かしらの縁で自身がプラスになればいいなとも思っています。なにかあればこちらまでご連絡ください!
この記事はSalesforceとBig Query紹介を検索すると難易度が高いものばかりが紹介されていたので、さくっと連携する方法を紹介したいと思い投稿します!
01:今回準備するもの
①Salesforceアカウント(developer editionでも可※無料です)
②Google Spreadsheet
③Google Cloud Platform(project を立ち上げて、data set 準備したもの)
…以上です!!(簡単)
02:Salesforceアカウントの準備(追加設定は不要)
まずは自身がご利用のSalesforceアカウントをご準備ください。
※Sandbox環境でも構いませんし、もしSandboxも難しい、という場合はTrailhead上でdeveloper editionをご準備ください。
ポイントとしてはPlaygroundではNG、ということです。
Salesforce側で追加設定は不要です。
03:Google SpreadSheetにSalesforceデータを自動更新
ポイント。Google とSalesforceは多くの連携機能を発表しております。
その機能の一つ、SalesforceデータコネクタをGoogleは用意しております。これはSpreadsheetのアドオンで、Salesforceのデータにアクセスできます。
Salesforceに詳しい方はスプレッドシート版のデータローダという認識で問題ありません。(相違点このあと説明)
またこのアクセスにあたり、Sales Cloudを契約していれば、プランは基本的に関係ありませんが、万が一接続できない場合はSalesforceのハンズオン組織から Developer Editionでもアドオンテストが可能ですので作成してみてください。
https://trailhead.salesforce.com/ja/users/profiles/orgs
本機能はReportsのデータを取得したり、SOQLで出せる範囲のデータを取得できたり、Salesforce側のデータを更新したり、非常に便利。そして今回特に重要な機能は一度、呼び出したデータを手動、もしくは自動でSalesforceのデータをGoogle SpreadSheetに反映し続けるRefreshという機能です。
これで4時間、8時間、24時間ごとにデータの自動更新が可能になります。
04:Google SpreadSheet からBig Queryにデータを送る
この記事は多くの方々が記載してくださっておりますが、ほぼそのまま利用できるコードを紹介してくださっているエクスチュアさんのブログをご紹介します(設定に3分もかからないわかりやすい記事です※2020年5月6日現在)
上記記事の補足…tableで日本語は使えません(当然ながら)またtable名が存在しない場合は、新規でtableを追加してくれますので、日別ログを残す場合も楽々です
あとはGoogle Apps script側で編集またはタイムトリガーに設定すれば完了です(これで終了)まさに簡単。。。。
以上で自動更新は完了です。また検証の際には10,000レコード、20カラム、3日間の更新でも問題ないことは確認済みです。今後の検証余地は追加差分アップロードや、より膨大なデータでの検証が考えられますが、本noteでは言及しないことと致します。
参考になった方はいいね!を押してくださると励みになります(=M=)また気軽にご質問等も頂戴できれば嬉しいです!