注:本記事は(2021年6月23日)に公開された(Integrating Salesforce Data with Snowflake Using Tableau CRM Sync Out)を翻訳して公開したものです。

Salesforceには、組織内で最も価値あるカスタマーデータの一部が含まれています。また組織はSnowflakeのデータクラウドを使用して、社内データやサードパーティのデータを1つの場所で簡単に最新の状態に保つことができます。Salesforceやサードパーティのデータを単一のプラットフォームに統合することで、組織は特にデータのサイロや移動に関連する課題の多くを排除しながら、より簡単に重要かつ価値ある知見を見つけることができます。データの組み合わせは、カスタマー、サービスのニーズ、その他の分析をより深く捉えることも可能にします。

図1:Sync OutはSalesforceとSnowflakeのデータを統合してカスタマーに関する360度の視点を提供

Salesforce、Snowflake、およびTableauの継続的コラボレーションの一環として、CRM Sync Outコネクターがリリースされました。図1で示す通り、このコネクターはSalesforceのデータをSnowflakeに直接移行し、データパイプラインを簡略化するとともに、遅延を減らします。さらに、コネクターがSnowflake側のデータ定義言語(DDL)の作成を自動化するため、追加のセットアップ時間が短縮されます。また、数多くのSalesforceオブジェクトからの増分ロードをキャプチャすることで、データを常に最新の状態に保ちます。アナリストはTableauまたはTableau CRMを使用して、簡単にデータ探索ができます。

Salesforceデータと外部データとの組み合わせは、多くの業界にメリットをもたらします。次に例を示します。

  • Salesforceデータをサードパーティのデータで補強することで、営業チームはカスタマーやそのニーズをより深く理解できます。たとえば、購入履歴情報を追加することで、カスタマーの関心についての上昇トレンドや下降トレンドを示すことができます。Webデータは、顧客が抱きそうな新しい関心についてのインサイトを提供します。または在庫レベルに関するデータを追加することで、営業チームはある品物の在庫がすぐに尽きることをカスタマーにいち早く知らせることができます。
  • 修理サービスを提供している組織の場合、追加情報の活用で生産性と効率性を高めることができます。たとえば石油/ガス業界では、IoTデータが不具合の予測に役立ち、組織は予防的メンテナンスを通じてダウンタイムを回避できます。ロケーションやスケジューリングデータがあれば、緊急の仕事に対応できる人員が近くにいるかどうかを把握できます。各機器の修理履歴を見れば、繰り返し発生している問題に関するインサイトが得られます。
  • ホテルチェーンの場合、ゲストが誰であるかを把握するのにSalesforceを使用していても、特典情報や予約データはSalesforce以外で管理していることがよくあります。この外部データをSalesforceのデータと統合することで、ホテルのスタッフはゲストの全体像を明確に把握し、個々に合わせたサービスを提供して、満足度やリピート率を向上させることができます。

Sync Outコネクターを使用すると、SalesforceのデータをSnowflakeのデータクラウドに簡単に統合でき、データを最新の状態に保つことができます。TableauとTableau CRMの両方に接続可能であるため、組織はそのデータを分析やEinstein AI機能に用いることができます。

このブログでは、ここより先、データの構成、接続、アクセスについて詳細に説明していきます。

SalesforceとSnowflakeの構成

SalesforceやSnowflakeでSync Outコネクターを使用するよう構成するには、Snowflakeオブジェクトを作成し、Salesforce内でSync Outを有効化し、さらにSnowflake出力接続を構成します。このセクションでは、これらの手順を詳しく説明します。

Snowflakeオブジェクトを作成する

SnowflakeでSync Outを使用するには、ご自身のSnowflakeアカウントで以下のSnowflakeオブジェクトを適切に構成する必要があります。

  • Salesforceのデータで使用されるデータベースとスキーマ
  • データをロードするウェアハウス(X-SmallまたはSmallサイズのウェアハウスから始める)
  • ウェアハウスの使用権限ならびに使用されるデータベースとスキーマの特権を持つロール。これには、テーブルの作成と置換、データの挿入、更新、切り捨て、マージ機能、および一時的な内部ステージの作成権限が含まれます。
  • 上記のロールを付与されたユーザー

Snowflakeオブジェクトを作成するときは、以下のスクリプトを活用できます。

USE ROLE SECURITYADMIN;

CREATE ROLE SYNCOUT;

CREATE USER TCRMSYNC PASSWORD = '<your password>' LOGIN_NAME = 'TCRMSYNC' DISPLAY_NAME = 'TCRMSYNC' 
DEFAULT_ROLE = SYNCOUT  DEFAULT_WAREHOUSE = 'SYNC_WH' DEFAULT_NAMESPACE = 'SFDC_DB.PUBLIC' MUST_CHANGE_PASSWORD = TRUE;
GRANT ROLE SYNCOUT TO USER TCRMSYNC;

USE ROLE SYSADMIN;

CREATE OR REPLACE WAREHOUSE SYNC_WH 
    WITH WAREHOUSE_SIZE = 'XSMALL' 
    AUTO_SUSPEND =60
    INITIALLY_SUSPENDED = TRUE
    AUTO_RESUME = TRUE;

GRANT ALL ON WAREHOUSE SYNC_WH TO ROLE SYNCOUT;

CREATE DATABASE SYNC_DB;
CREATE SCHEMA SYNC_DB.SYNCOUT;
GRANT USAGE ON DATABASE SYNC_DB TO ROLE SYNCOUT;
GRANT USAGE, CREATE TABLE, CREATE STAGE ON SCHEMA SYNC_DB.SYNCOUT TO ROLE SYNCOUT;
GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE ON FUTURE TABLES IN SCHEMA SYNC_DB.SYNCOUT TO ROLE SYNCOUT;

Sync Outを有効化する

以下の手順に従って、Salesforce内でSync Outを有効化し、Snowflake出力接続を構成します。

1. Salesforceで、Setupをクリックします。

2. Quick Findバーで、Analyticsと入力します。次に、Settingsをクリックします。

3. Enable Data Sync and ConnectionsおよびEnable Snowflake output connectionにチェックを入れます。

4. Snowflakeへのライブ接続を有効化したい場合、Enable direct data for external data sourcesにチェックを入れます。

Snowflake出力接続を構成する

最後に、Sync Outによって使用されるSnowflake出力接続を構成します。

1. SalesforceでAnalytics Studioを開き、Data Managerに移動します。

2. Data Managerで、Connectタブを選択し、右上にあるConnect to Dataボタンをクリックします。

3. Output Connectionsを選択し、Add Connectionをクリックします。

4. Snowflake Output Connectorを選択します。

5. 以下で説明するSnowflake情報を含め、すべての必須フィールドに接続に関する情報を入力します。詳しくは、Salesforceドキュメンテーションをご覧ください。

ヒント:

  • URL.snowflakecomputing.comのSnowflakeアカウントはすべて小文字、Snowflakeアカウントは完全識別子を用います(つまり、xyz123456またはbc45678.us-east-1)。
  • データベース、スキーマ、ロール、およびユーザー名にはすべて大文字を使用します。

6. Save & Testをクリックして、接続をテストします。

ローカルのSalesforceデータへの接続とData Syncの構成

Salesforce Data Managerを使用してローカルのSalesforceデータに接続し、Sync Outを有効化して、スケジュールを設定します。

ローカルのSalesforceデータに接続する

1. Salesforce Data ManagerのConnect to Dataボタンをクリックします。

2. Input Connectionsタブで、ローカルのSalesforceデータのSFDC_LOCALオブジェクトを選択します。

3. 同期したいSalesforceオブジェクトを選択します。Continueをクリックします。

4. オブジェクトに対して同期したいフィールドを選択します。Continueをクリックします。

5. Preview Source Data画面でSaveをクリックします。

同期するオブジェクトとフィールドがData Managerに表示されます。オブジェクトをクリックすれば、いつでもフィールドを編集できます。

さらに、オブジェクトに対してIncremental Sync(増分同期)、Full Sync(完全同期)、またはPeriodic Full Sync(定期完全同期)のいずれかを選択するには、オブジェクトの横の下向き矢印をクリックして、Edit Connection Modeを選択します。一部のオブジェクトに対する同期の制限については、Salesforceのドキュメンテーションを参照してください。

Sync Outを有効化してスケジュールを設定する

1. SFDC_LOCALの右側で、下向き矢印をクリックしてSync Outを選択します。

2. Enable Sync Outにチェックを入れ、Snowflake出力接続名を選択してから、Saveをクリックします。

3. Data Syncを直ちに実行するには、同じ下向き矢印をクリックして、Run Nowをクリックします。または、Data Syncのスケジュールを設定するオプションもあります。

4. ジョブを監視するには、Monitorタブをクリックします。

Snowflakeでのデータアクセス

Salesforceオブジェクトは、Snowflake内でテーブルとして表示され、Synk Outコネクターは、先に指定したとおり、データロードの増分または完全同期を管理します。

これで、これらのデータは他のデータと共にSnowflake内で直接アクセスできるようになりました。内部システムからのデータでも、データシェアリングを通じたパートナーデータでも、あるいはSnowflake Data Marketplaceのデータプロバイダーからのデータでも、顧客データを迅速かつ完全に把握することができます。

リソース

詳しくは、以下のリソースを参照してください。