SalesforceのデータをTableauで分析するには、Tableauに標準で入っているSalesforceコネクタで商談や取引先を抽出するのが基本の経路です。ただし、このコネクタはライブ接続ができず、結合の種類やテキストの長さ、増分更新の範囲に固有の制約があり、Salesforce側のAPI権限と上限にも左右されます。この記事では、接続手順、つまずきやすい制約、カスタムOAuth設定、Pythonでの更新の自動化を順に示し、最後にCRM Analytics・Tableau Next・標準レポートとの使い分けを条件つきで整理します。仕様の根拠は2026年11月時点の公式ドキュメントです。
まとめ:Salesforce連携は抽出前提で設計しAPI上限と権限を先に確かめる
TableauのSalesforceコネクタは、Desktop・Server・Cloudのいずれでも抽出(エクストラクト)専用です。リアルタイムの数字が要る画面には向かず、1日数回の定時更新で足りる分析に使います。接続前に、利用者のプロファイルでAPIが有効か、組織のAPI割り当てに余裕があるかをSalesforce管理者と確かめてください。
製品の選び方は、分析結果を誰がどこで見るかで決まります。営業担当がSalesforceの画面の中で見るならCRM Analytics、または後継のTableau Next。会計や在庫など他システムのデータと組み合わせて全社で見るならTableau。商談と活動の件数を追うだけなら標準レポートで止めます。
Salesforceのデータを分析に回す3つの経路と製品ごとの位置づけ
SalesforceのデータをBIで扱う方法は1つではありません。データの置き場所と、分析画面を開く場所の組み合わせで3つの経路に分かれます。
| 経路 | データの取り方 | 分析画面(Tableau製品は略記) | 向く用途 |
|---|---|---|---|
| Tableau+Salesforceコネクタ | API経由で抽出 | Desktop・Cloud・Server | 他システムと結合した全社分析 |
| Tableau+Data 360コネクタ | Data 360の統合データ | Desktop・Cloud・Server・Prep | Data 360導入済み組織の顧客分析 |
| CRM Analytics Tableau Next |
Salesforce内で取り込み | Salesforceの画面内 | 営業・サービスの日常業務での判断 |
表のDesktop・Cloud・Server・Prepは、それぞれTableau Desktop・Cloud・Server・Prepの略記です。以降の手順は1つ目の経路を扱います。
Tableau標準のSalesforceコネクタで商談と取引先を抽出する経路
Tableau公式ヘルプのSalesforce CRMコネクタの説明によると、TableauはSalesforceのAPIを呼んでオブジェクトを取り出し、Tableauの抽出ファイルに取り込みます。標準オブジェクトだけでなくカスタムオブジェクトも表として選べるので、商談・取引先・活動に自社独自の項目を加えた分析までこの経路で届きます。
Tableau側のライセンス費用はTableauの価格とCreator・Explorer・Viewerの人数別の年額にまとめています。
Data 360コネクタとTableau Nextを使うSalesforce側の経路
Data 360(2025年10月14日にData Cloudから改称)を導入済みの組織では、Tableau Desktop 2023.2以降でSalesforce Data Cloudコネクタも選べます。旧CDPコネクタは2024.3で削除済みで、旧コネクタのワークブックは作り直しになります。
Tableau NextはData 360を土台にした別製品です。Tableauの製品と機能の一覧では、従来のDesktopやCloudを「Tableau by Tableau」と呼んで区別し、Tableau NextはTableau Next CreatorとTableau Next Consumerという別のライセンスで提供されると説明しています。
CRM AnalyticsがSalesforceの画面内で分析を完結させる位置づけ
CRM Analytics(旧称Tableau CRM)は、Salesforceの中で動く分析機能です。Salesforceのアナリティクス製品の紹介ページは、TableauとCRM Analyticsを補完関係の製品と位置づけ、インサイトを確認する場所で選ぶよう案内しています。CRM Analyticsは、分析結果をSalesforce CRMの業務の流れに深く組み込みたいチーム向けという説明です。旧称のためTableauの一機能と誤解されがちですが、Tableau DesktopやTableau Cloudの契約とは別物です。
Tableau DesktopのSalesforce接続とSandbox認証の手順
接続そのものは数分で終わります。時間がかかるのは、接続前の権限確認と、初回の抽出作成です。
接続前にSalesforce管理者と確認するAPI権限と5種類の必要API
Tableauの公式ヘルプは、会社のアカウントとユーザーのプロファイルで次のAPIが有効になっている必要があると明記しています。
- サインイン用のSOAP API
- メタデータ取得用のREST API
- オブジェクトのダウンロード用のBulk API
- Bulk APIに対応しないオブジェクト用のREST API
- 変更分の取得用のレプリケーションSOAP API
エディションによってはAPIアクセス自体が許可されていません。API参照の権限がプロファイルに付いているかも見てください。APIの種類と認証の全体像はSalesforce APIの種類と認証・RESTの呼び出し手順で解説しています。
DesktopからSalesforceへの接続6手順と標準の接続・表の選び方
Tableau 2020.4以降、サインインはOAuthのみで、ユーザー名とパスワードを直接入れる方式はありません。手順は次のとおりです。
- Tableauを起動し、[接続]の[サーバーへ]から[その他…]→[Salesforce]を選ぶ
- インスタンスURLを確認する(既定は
login.salesforce.com) - [サインイン]を押し、リダイレクト先でSalesforceの認証情報を入れる
- [ログイン]を選ぶ
- [アクセスの許可]ダイアログで[許可]を選ぶ
- データソースページで[標準の接続]か[表]を選び、キャンバスへドラッグする
[標準の接続]は定義済みのクエリです。カスタムオブジェクトや独自の結合が要るなら[表]から組みます。主要指標のダッシュボードの雛形「アクセラレーター」もDesktopとCloudにあります。
Sandboxとカスタムドメインへ接続するときのドメイン指定の書式
本番の前にSandboxで試す場合は、サインイン画面で[カスタムドメインを使用]を押し、[domain]--[sandbox名].sandboxの形で入力します。公式の例はmycustomdomain4--qa.sandboxです。
Sandboxとは件数が違うため、抽出時間とAPI消費量は本番で測り直します。種別と作り方はSalesforce Sandboxのログイン URLと4種別の選び方にあります。
Salesforceコネクタの制約:抽出のみ・結合条件・4096文字の切り捨て
連携の後戻りは、この章の制約を知らずに画面を作り込んだときに起きます。
ライブ接続が使えず抽出のみになるSalesforce連携の更新設計への影響
Salesforceコネクタは、Desktop・Server・Cloudのいずれでも抽出に限られます。Salesforceで商談を更新しても、次の抽出更新が走るまでTableauの数字は変わりません。
更新頻度の要件を最初に決めてください。朝の会議用なら1日1回で足り、日中に何度も見る営業管理ならAPI消費量との釣り合いが要ります。Tableau Cloudの抽出更新の上限はTableauの製品の種類とデータ接続・権限設計の解説で扱っています。
Salesforceの結合が内部結合と左外部結合の等価条件に限られる制限と回避策
Salesforceの表どうしの結合は、左外部結合と内部結合だけが使えます。条件は等号(=)のみで、範囲での結合はできません。異なるデータベースの表を組み合わせるクロスデータベース結合には対応しています。
注意したいのはマルチ接続です。Salesforceの接続を含めると、ライブ接続・抽出フィルター・増分更新・データグリッドでの表示の4つが使えません。会計データと結合するなら、Tableau Prepで先に1つの抽出へまとめる構成が扱いやすくなります。Prepの定期実行はTableau Prepのフロー作成と定期実行の手順を参照してください。
4096文字超のテキスト項目と数式項目が抽出から落ちる問題と計算の再作成
4096文字を超えるテキスト項目と、Salesforceの数式(計算)項目は抽出に含まれません。商談の説明欄のような長いテキストや、Salesforce側で計算している粗利率などが、Tableauでは列ごと見当たらない状態になります。数式項目はTableauの計算フィールドで作り直します。
列を絞るときは、Desktop 2020.1以降の[新規カスタムSQL]でSELECT文を書けます。ただし、Force.com APIに渡すクエリは合計10,000文字までです。項目数の多いオブジェクトで全列を列挙すると上限に届くことがあるので、分析に使う列だけを指定します。
増分更新の30日制限とカスタムSQLで使えない条件・完全更新の組み合わせ
増分更新は、前回の増分更新以降に追加・変更されたレコードを取り込む仕組みです。公式ヘルプは、増分更新で返る結果が直近30日分に限られると書いています。
| 条件 | 増分更新 | 設計上の対応 |
|---|---|---|
| 表をそのまま選んだ単一接続 | 使える | 日中は増分、週1回は完全更新 |
| カスタムSQLで列を絞った接続 | 使えない | 完全更新の回数を減らす |
| 他データとのマルチ接続 | 使えない | Prepで先に1つへまとめる |
30日より前のレコードが変更された場合の取りこぼしを防ぐため、増分更新だけで運用せず、完全更新を定期的に混ぜてください。
Tableau ServerのSalesforce用カスタムOAuth設定手順
パブリッシュしたデータソースを定時更新するには、Salesforceの認証情報をサーバー側に保存します。公式ヘルプは、会社のITポリシーを適用でき、既定クライアントのローテーションに左右されないカスタムOAuthクライアントを推奨しています。
Salesforce外部クライアントアプリの作成とOAuthスコープ3つの指定
Salesforce側では、[設定]→[アプリケーションマネージャー]から外部クライアントアプリケーションを作ります。従来の接続済みアプリケーションも使えますが、Salesforce.comのOAuth設定のヘルプでは非推奨の扱いです。コールバックURLにはhttps://<Tableau Serverのホスト>/auth/add_oauth_tokenの形を指定し、スコープは次の3つを選びます。
- アイデンティティURLサービスへのアクセス(id・プロフィール・メール等)
- APIを介したユーザーデータの管理(api)
- いつでもリクエストを実行(refresh_token、offline_access)
3つ目を外すとリフレッシュトークンが発行されず、定時の抽出更新が認証切れで止まります。作成後に表示されるコンシューマー鍵とシークレットを控えておきます。
tsm configuration setでサーバー全体のOAuthクライアントを登録
Tableau Serverのコンピューターで、次のコマンドを実行します。server_base_urlは既定のログインサーバーを変える場合だけ指定します。
tsm configuration set -k oauth.salesforce.client_id -v <コンシューマー鍵>
tsm configuration set -k oauth.salesforce.client_secret -v <コンシューマーの秘密>
tsm configuration set -k oauth.salesforce.redirect_uri -v https://tableau.example.co.jp/auth/add_oauth_token
tsm configuration set -k oauth.salesforce.server_base_url -v https://login.salesforce.com
tsm pending-changes apply
最後のtsm pending-changes applyで保留中の設定が反映されます。redirect_uriには、Salesforce側の外部クライアントアプリに登録したコールバックURLと同じ文字列を入れてください。
サイト単位のOAuth Clients Registryと保存済み資格情報の再登録
サイトごとに別のクライアントを使いたい場合は、サイトの[設定]にある[OAuth Clients Registry]で[Add OAuth Client]を押し、接続タイプ・クライアントID・シークレット・リダイレクトURLを登録します。サイトの設定はサーバー全体の設定より優先され、反映にサーバーの再起動は要りません。
見落としやすいのは切り替え後です。既存の保存済み資格情報は、利用者が[マイアカウント設定]で削除して追加し直す必要があるので、告知と期限を決めてから進めます。Tableau Cloudの認証まわりはTableau CloudとServerの違いとSSOの設定にまとめています。
抽出更新をPythonで自動化しSalesforceのAPI残量を監視する実装
夜間バッチの直後に更新したい、API残量が少ない日は止めたい、といった条件付きの更新はスクリプトで制御します。
Tableau Server Client 0.42で抽出更新を起動して完了を待つコード
Tableau公式のPythonライブラリTableau Server Clientは、2026年10月15日公開の0.42系が最新で、Python 3.10以上が必要です。個人用アクセストークンでサインインし、データソースの更新ジョブを起動して完了まで待つ最小の例を示します。
import os
import tableauserverclient as TSC
auth = TSC.PersonalAccessTokenAuth(
os.environ["TABLEAU_PAT_NAME"],
os.environ["TABLEAU_PAT_SECRET"],
site_id=os.environ.get("TABLEAU_SITE", ""),
)
server = TSC.Server(os.environ["TABLEAU_URL"], use_server_version=True)
with server.auth.sign_in(auth):
ds = server.datasources.get_by_id(os.environ["SFDC_DATASOURCE_ID"])
job = server.datasources.refresh(ds)
job = server.jobs.wait_for_job(job)
print(job.id, job.finish_code, job.completed_at)
datasources.refreshは更新ジョブを表すJobItemを返します。site_idに指定する値は、Tableau Serverの既定サイトなら空文字、Tableau Cloudではサイトのコンテンツ URLです。REST APIの版の扱いや埋め込みとの使い分けはTableau APIのREST・埋め込み・Hyper APIの使い分けで解説しています。
Salesforce CLIで更新前API残量確認とsf org list limits
公式ヘルプは、APIの同時要求数と総要求数の上限を超えるとTableau側でエラーになると注意しています。他の連携処理を巻き込む事故を防ぐには、更新前のAPI残量の確認が必要です。Salesforce CLIのplugin-limitsが提供するコマンドを使います。
# 組織のAPI上限と残量(prod はログイン済みの組織のエイリアス)
sf org list limits --target-org prod --json | jq '.result[] | select(.name == "DailyApiRequests")'
# 抽出対象オブジェクトのおおよその件数
sf org list sobject record-counts --sobject Opportunity --sobject Account --target-org prod
sf org list limitsは旧名sf limits api displayの後継で、内部では/limitsリソースを呼んで上限ごとのmaxとremainingを返します。件数のコマンドは非同期計算の概算値です。残量が少ない日はPythonのスクリプト側で更新を見送る、という分岐をこの値で組めます。連携全体でのコール上限の配分はSalesforceのシステム連携とAPIコール上限の設計を参照してください。
Tableau・CRM Analytics・標準レポートの使い分けと採用しない条件
3つの選択肢は、機能の多さではなくデータの範囲と閲覧場所で選びます。
Salesforce標準レポートで止める条件とTableauへ移す3つの兆候
閲覧者が営業部内だけで、指標が商談金額・件数・活動数に収まるなら、Tableauは入れません。ライセンス費用と抽出の保守が、得られる差に見合わないからです。標準レポートの作り方はSalesforceのレポートとダッシュボードの設計手順で扱っています。
移す兆候は3つです。会計や在庫のデータと突き合わせたくなった。Salesforceを持たない部署にも同じ数字を見せる必要が出た。レポートを何本も書き出してExcelで結合する作業が定例化した。この3つのうちどれかが出たら、Tableauの検討に入ってよい段階です。
CRM AnalyticsかTableau Nextを選ぶ条件:CRM画面で完結する分析
分析を見るのが営業担当やサービス担当で、見た結果をその場で商談や案件の操作につなげたいなら、Salesforceの中で動く製品を選びます。Tableauで同じことをする場合、担当者はSalesforceとTableauの2つの画面を行き来する必要があるため、画面の切り替えが前提です。CRMの業務の流れに分析を組み込む用途は、Salesforce自身もCRM Analyticsの守備範囲として案内しています。
新規導入ならTableau Nextも比較対象です。Tableau Nextの製品ページは、Data 360上に構築されAgentforceと連携する次世代製品と位置づけ、CRM Analyticsも引き続き提供するとしています。Data 360を入れる予定が無いなら、Tableau Nextは前提が重すぎます。
Tableauを選ぶ条件と見送る場面:他システムのデータとの結合
Tableauを選ぶのは、Salesforceが分析の材料の1つにすぎない場合です。実績は会計、在庫は基幹、見込みはSalesforceという形で複数の仕組みにまたがる数字を1画面で見るなら、Tableauが合います。Salesforceのライセンスを持たない経営層にも配れます。
見送るのは、分刻みの数字が要る場合です。抽出専用のコネクタでは受付状況のモニターのような用途に追いつかないため、Salesforce側のダッシュボードか、APIで直接取得する自前の画面にします。抽出の更新設計、OAuthの切り替え、API上限の配分までを一続きで整えたい場合は、Salesforce導入支援サービス・Apex開発で現在の組織の構成を見たうえで切り分けを相談できます。
SalesforceとTableauの連携についてよくある質問
SalesforceとTableauの連携で寄せられやすい質問に、公式ドキュメントの記載をもとに答えます。
Tableau CRMとは何ですか?CRM Analyticsと同じものですか?
同じ製品です。Tableau CRMはCRM Analyticsの旧称で、Salesforceの中で動く分析機能を指し、Tableau DesktopやTableau Cloudとは別の製品です。Salesforceは次世代の製品としてData 360上のTableau Nextを案内しつつ、CRM Analyticsも引き続き提供するとしています。古い資料の「Tableau CRM」は、CRM Analyticsと読み替えてください。
SalesforceのデータにTableauからライブ接続できますか?
標準のSalesforceコネクタではできません。Desktop・Server・Cloudのいずれでも抽出に限られ、Salesforceの変更は次の抽出更新で反映されます。間隔を短くするほどAPIの消費が増えるので、業務に必要な鮮度から更新回数を逆算してください。Data 360を導入済みなら、Data 360コネクタで統合データにつなぐ経路もあります。
TableauでSalesforceに接続できないときはどこを確認しますか?
公式ヘルプが挙げる確認先は、認証情報、サーバーの検出、データへのアクセス権限の3つです。加えて、プロファイルでAPIが有効か、エディションがAPIアクセスを許可しているか、組織のAPI上限に達していないかを確かめます。Sandboxならカスタムドメインの書式も見直してください。
Salesforceの数式項目がTableauに出てこないのはなぜですか?
Salesforceコネクタの抽出には、計算(数式)項目と4096文字を超えるテキスト項目が含まれないためです。数式項目は、元になる項目を抽出したうえでTableauの計算フィールドとして作り直します。作り直した計算は、数件のレコードでSalesforceの画面の値と一致するか確かめてください。
SalesforceとTableauを使うにはライセンスがそれぞれ必要ですか?
必要です。Tableau側では作成者にCreator、閲覧者にExplorerかViewerが要り、Salesforce側では接続に使うユーザーがAPIを使える状態でなければなりません。Tableau+のバンドルにはTableau Nextが含まれるなど、契約形態で組み合わせが変わります。
関連記事
- Salesforceとは?CRMの機能・料金・認定資格から導入判断まで解説:Salesforce全体の機能と料金です。
- Tableau(タブロー)とは:製品の種類・データ接続・権限設計と自社開発との使い分け:Tableauの製品構成と権限設計です。
- Salesforceのレポートとダッシュボード:レポートタイプ設計と相対日付、APIで集計を取り出す手順:標準機能で済む範囲の確認に使えます。
- Salesforce APIとは?12種類の使い分けと認証・REST・GraphQLの呼び出し手順:コネクタが使うAPIの違いと認証です。
- Tableauの価格|Creator・Explorer・Viewerの料金と人数別の年額、CloudとServerの差:Tableau側のライセンス費用です。