Salesforce Data Cloud のデータをR で分析:ODBC での接続

データビジュアライゼーション、ハイパフォーマンスな統計関数を使ってSalesforce Data Cloud をMicrosoft R Open で分析。

古川えりか
コンテンツスペシャリスト

最終更新日:2022-04-05

こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。

R スクリプトおよび 標準SQL を使ってSalesforce Data Cloud にアクセス。CData ODBC Driver for SalesforceDataCloud とRODBC package を使って、R でリモートSalesforce Data Cloud を利用できます。CData Driver を使うことで、オープンソースでポピュラーなR 言語のデータにアクセスできます。この記事では、ドライバーを使ってSalesforce Data Cloud にSQL クエリを実行する方法、およびR でSalesforce Data Cloud をビジュアライズする方法について説明します。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. Salesforce Data Cloud をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにSalesforce Data Cloud のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてSalesforce Data Cloud の接続を設定、2.R 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとSalesforce Data Cloud への接続設定

まずは、本記事右側のサイドバーからSalesforceDataCloud ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

接続プロパティの指定がまだの場合は、まずODBC DSN (データソース名)で接続設定を行います。これはドライバーのインストール時に自動的に立ち上がります。Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。

Salesforce Data Cloud は、OAuth 標準による認証をサポートしています。

OAuth

AuthSchemeOAuth に設定します。

デスクトップアプリケーション

CData は、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供します。

また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、ヘルプドキュメントカスタムOAuth アプリの作成を参照してください。

接続する前に、次のプロパティを設定します。

  • InitiateOAuthGETANDREFRESHInitiateOAuth を使えば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要はなくなります。
  • OAuthClientId (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID。
  • OAuthClientSecret (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。

接続すると、本製品 はデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。

以下のようにドライバーがOAuth プロセスを完了します。

  • コールバックURL からアクセストークンを取得します。
  • 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
  • OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します。
  • Web アプリケーションやヘッドレスマシンを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。

    RODBC パッケージをロード

    ドライバーを使うにはRODBC パッケージをダウンロードします。RStudio で[Tools]>[Install Packages]をクリックし、RODBC を[Packages]ボックスに入力します。

    RODBC パッケージをインストールしたら、次のコードを入力してパッケージをロードします。

    library(RODBC)

    ODBC データソースとしてSalesforce Data Cloud のデータに連携

    次のコードを使ってR のDSN に接続できます:

    conn <- odbcConnect("CData Salesforce Data Cloud Source")

    スキーマ検出

    ドライバーはSalesforce Data Cloud API をリレーショナルデータベース、ビュー、ストアドプロシージャとしてモデル化します。次のコードを使ってテーブルリストを検出します。

    sqlTables(conn)

    SQL クエリの実行

    sqlQuery 関数を使ってSalesforce Data Cloud API がサポートするすべてのSQL クエリを実行します。

    account <- sqlQuery(conn, "SELECT [Account ID], [Account Name] FROM Account WHERE EmployeeCount > 250", believeNRows=FALSE, rows_at_time=1)

    次のコマンドを使って、結果を[data viewer]ウィンドウで見ることができます。

    View(account)

    Salesforce Data Cloud のデータをプロット

    これで、CRAN レポジトリで利用可能なあらゆるデータビジュアライゼーションパッケージを使ってSalesforce Data Cloud を分析できます。ビルトインのbar plot 関数を使って簡単なバーを作成できます:

    par(las=2,ps=10,mar=c(5,15,4,2)) barplot(account$[Account Name], main="Salesforce Data Cloud Account", names.arg = account$[Account ID], horiz=TRUE) A basic bar plot. (Salesforce is shown.)

    Salesforce Data Cloud からR へのデータ連携には、ぜひCData ODBC ドライバをご利用ください

    このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

    CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。