LoginSignup
5
4

More than 3 years have passed since last update.

Heroku Connect経由でSalesforceにTableau接続すると色々便利そう

Posted at

Salesforce->Heroku->Tableau

Heroku Connect経由でSalesforceにTableau接続すると色々メリットがあります。
備忘録的に記載します。
image.png

Salesforceからのデータの取得

Salesforceからデータを取得する場合、ETLツールやデータローダー、WorkBenchなど様々なツールを使うことが多いと思います。しかしどれも基本的にはAPI経由になるので、Salesforce側のAPI制限やガバナ制限に引っかかることがあります。

データ取得先としてのSalesforceを考えた場合、Heroku ConnectでSalesforceをデータベース化してしまえば色々な制限が回避でき、SQLという一般的な接続ができるようになります。

Herokuって?

HerokuとはSalesforceファミリーのPaaS(Platform as a Service)環境です。いわばHardwareやOSなどは抽象化された環境で、自分のプログラムをデプロイして動作させることができます。PaaSを使うことで環境を気にする必要がなくなり、開発者は本来のコーディングに集中することができます。
image.png

Heroku Connectって?

Herokuの説明だけ聞くと、「それって開発者が使うサービスでしょ?分析者には関係ないじゃん」と思われるかと思いますが、HerokuにはHeroku PostgresHeroku Connectというサービスがあります。

Heroku Connectを使うとHeroku Postgres と Salesforce とのデータの双方向同期が実現できます。最短2分程度で同期されるため、ほぼリアルタイムのデータ同期が実現されています。

image.png

普段慣れ親しんでいるSQLを使って、Salesforceデータの取得のみならず、Salesforceへのデータインサートや更新処理も実現できるので非常に魅力的です!

TableauとSalesforceの接続

SalesforceのデータをTableauで可視化する場合

  1. Salesforceに直接接続する
  2. Salesforceのデータを取り込んだDWHに接続する

接続がメインになってくると思います。
ただ、1.Salesforceに直接接続する場合は、抽出接続しかできないためパフォーマンス面で問題が発生することがありますし、データ量が多くなってくると2番を考慮する必要が出てきます。
2.は理想的ですがSalesforceのデータをDWHに取り込むためにはETLツールを使用したバッチ処理が必要になるので、開発・運用面での負担が大きそうです。

そこで今回はHeroku Connectを使ってSalesforceのデータをTableauで可視化してみたいと思います。

設定手順

まずはHerokuにログインできる状態にしてある前提で進めます。

Heroku Connect Addonのインストール

Heroku Connect Addon InstallからHeroku Connectを使えるようにします。

アプリケーション作成

Heroku Postgresを格納するアプリケーションを作成します。
image.png

PostgresとHeroku ConnectのAdd-Onを追加

Add-onsからPostgresを検索して追加します。
image.png

ここでPlanを選択することができます。Hobby版なら無料です。
その他のプランもあるのでパフォーマンスやバックアップなど必要に応じたプランを選択することができます。
image.png

これでアプリケーションにデータベースが作成されました。

Heroku ConnectのAdd-On追加

同様にHeroku Connectも追加してみます。
image.png

2つのAdd-Onを追加しました。Heroku Connectをクリックして設定画面に映ります。
image.png

Salesforce組織との認証

次にHeroku ConnectをどのSalesforce組織と連携するか設定します。
Setup Connectionボタンを押します。
image.png

スキーマ設定

スキーマ名の定義をしたら「Next」
image.png

Salesforce認証設定

環境とAPIバージョンの指定後「Authorize」
image.png

おなじみの認証画面です
image.png

同期オブジェクトの設定

設定ができたので、次にどのオブジェクトを同期させるのか指定します。

image.png

オブジェクト一覧から対象のオブジェクトを選択します。
image.png

同期する方向(Salesforce->Postgres or Postgres->Salesforce)や項目、同期タイミングを指定します。
image.png

同期設定完了

同期設定が完了するとPostgres上にテーブルが作成され、同期されている行数を確認できます。
image.png

Tableauから接続してみる

接続設定はDatastoreから指定のPostgresのSetting画面から確認できます。
image.png

Postgresコネクタを使用して接続

今回はTableau Onlineから接続してみました。
image.png

接続先のテーブルが確認できる

image.png
項目名はPostgresなので英語になってしまいますね、ここは仕方なし。。。

Vizの作成

Binを作成してヒストグラムを作成してみました。この程度の行数であれば特にストレスなく動作します。
image.png

まとめ

今回はHeroku Connectを使用してSalesforceのデータをPostgresに同期してみました。
Tableauで接続する際にも非常にスムーズだったので、Salesforceのデータをデータベース化して取得・加工するのには非常に便利そうです。

懸念事項としてはスケールアップできるとはいえベースが所詮Postgresなので大量データの扱いになった場合のパフォーマンスは不明です。ただ元データがSalesforceなのでそこまで気にする必要はないのかもしれません。

Salesforceのデータと外部のWeb履歴データなどを組み合わせて分析したい場合は別途高速なクラウドDatabaseの利用を検討する必要があると思います。

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4