0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

Organization

SalesforceのデータをSnowflakeに自動同期し、Lookerで可視化する

概要

売上データを分析する際、Salseforceに蓄積された顧客情報・商談状況などを他のデータと紐付けて分析することが非常に重要です。
しかし、それらのデータを分析基盤に統合する作業に苦戦することも多いでしょう。
そこで今回は、troccoという分析基盤向けデータ統合サービスを使い、Salesforceデータの抽出自動化+DWH(データウェアハウス)への統合+可視化までやってみようと思います。

今回、データの転送手段として採用したtroccoは、Salesforceの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。
troccoの使い方まとめ(CRM・広告・データベース他)
イメージ.png

ゴール

Salesforceのデータを下のようにSnowflakeに統合し

snowflakeプレビュー.png

Lookerで可視化します(作成後は自動で最新値に更新することも可能です)
データ完成.png

こんな人におすすめ

  • Salesforceのダッシュボード・レポート機能では限界を感じている方
  • Salesforceを利用中で、分析基盤やDWH(データウェアハウス)へのデータ統合・ETLを考えている方
  • LookerやSnowflakeでSalesforceのデータを分析したい方

1. troccoでSalesforce→Snowflakeの転送自動化

1-0. 事前準備

データの転送のためにはtroccoのアカウント・Salesforceのアカウントが必要です。
無料トライアルを実施しているので、事前に申し込み・登録しておいてください!
https://trocco.io/lp/index.html
(申込の際に、この記事を見た旨を記載して頂ければご案内がスムーズに行えます)

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

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

転送元に「Salesforce」を指定し、転送先に「Snowflake」を選択して転送設定作成ボタンを押します。
新規転送設定.png

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

1-2. Salesforceとの連携設定

あとで見たときに自分で分かるように転送設定の名前とメモを入力します。
概要設定.png

次に「転送元の設定」内の「接続情報を追加」ボタンを押します。
転送設定作成___接続設定を追加.png

別タブで接続情報の新規作成画面が開きますので、必要事項を記入して保存ボタンを押します。
salesforce設定.png

再度転送設定画面に戻り、接続情報の「再読込」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。
qiitaサンプル追加.png

これでSalesforceとの連携は完了です。

1-3. Salesforceからのデータ抽出設定

次に、どのようなデータを取得するかを設定していきます。
ここでは商談(Oppotunity)に関するデータを取得してみます。
オブジェクトでOppotunityを指定し、グラフを作成するために必要なデータ項目をクエリで指定します。

オブジェクト
レポートデータが格納されているオブジェクト名を指定してください。

クエリ
SOQL(Salesforce Object Query Language)を指定してください。
SOQLは開発者コンソールクエリエディタから作成できます。
※ SOQLの構文についてはこちらを参照してください。

salesforce設定完了.png

1-4. 転送先Snowflakeの設定

転送元と同様に設定していきます。Snowflakeの接続情報を作成していきます。
転送先となるSnowflakeの接続先ホスト、ユーザー名、及びパスワードが必要になります。

snowflake追加.png

先ほど作成した接続情報を選択し、転送先とするウェアハウス、データベース名、スキーマ名を設定します。
転送モードに関してはreplaceを選択します。各転送モードの詳細はこちらの「転送モードについて」をご確認ください。

転送先snowflake.png

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

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

少し待つと、転送元のデータがプレビューされます。ここではSalesforceから取り込んだデータが表示されています。
スキーマプレビュー.png

転送したいデータが取れているので、このまま「スケジュール・通知設定」に進みます。

1-6. スケジュール・通知設定

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

「スケジュールを追加」ボタンを押すと、以下の画像のような入力欄が出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。
スケジュールの保存.png

1-7. データ転送ジョブの実行

設定は以上です。最後に、手動で転送ジョブを実行し、Snowflakeにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。
実行する.png

これで転送は完了です!

2. Snowflakeの設定

特に設定することありません。データが転送されているので、今すぐに分析・可視化を行うことが出来ます。
データがきちんと送られているかは「データをプレビュー」押すことで確認してみます。
snowflakeプレビュー.png

転送されていることが確認できました!

3. Lookerで可視化

それでは、これらのデータをLookerで可視化していきます。

まずはSnowflakeとLookerを接続の設定を行います。
管理タブを開いて「データベース」の「接続」を開きます。
接続選択.png

接続しているデータベース一覧が表示されています。ここで「Add Connection」→「Database Connection」から接続するデータベース情報を入力します。
addconnection.png
connections.png

Snowflakeのデータベースに接続できたら、次はデータを可視化するために必要なLookMLプロジェクトを作成していきます。 開発タブを開いて「LookMLプロジェクトの管理」に移動します。

プロジェクトの管理.png

「New LookML Project」からLookMLプロジェクトを作成します。
newlookerml.png

newproject.png

「Create Project」を押したら、エディタでmodelとviewを定義します。 後々必要になるので、modelの中ではexploreを設定しておきましょう。 (書き方が分からない場合はLookerの公式ドキュメントを参照してください)
model.views.png
test.views.png

これで下準備が整いました。 トップページに戻って「New」からDashboardを作成します。
newdash.png

白紙のダッシュボードが作成されるので「Qiita_Salesforce_ダッシュボード」と名前をつけます。
そして「Dashborardの編集」→「タイルの追加」を選択し、先ほどのmodel内で定義したExploreを選択します。

explorer.png

ディメンションとメジャーを設定し、Tileに表示したいデータをプロットします。今回は各項目における期待利益について分析したいとき、ディメンションに「Name」とメジャーに「Expected Revenue」を選択します。

各項目における期待利益.png

ダッシュボードに表示します。
データ完成.png

完成しました!

まとめ

いかがでしたでしょうか。troccoを使うとSalesforceの管理画面を触ることなく、簡単にデータを取得し、DWH(Snowflake)に貯めることが出来ます。
Snowflakeにデータを貯めると、Lookerと連携することでデータ可視化することができます。
実際に弊社サービスのtroccoにおいても、マーケティングKPI等をこのような流れで収集・分析しています。
ぜひ広告データ分析の際にはご活用ください。
https://trocco.io/lp/index.html

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

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

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?