Skip to main content

Salesforceからの数式フィールドの値の自動複製

Salesforceからの数式フィールドの値の自動複製

FivetranのTransformations for dbt Core*を使用して、Salesforceの信頼性の高い数式フィールドの値をデスティネーションに自動生成する方法についてご紹介します。

ナタリー・ウォーラー

2022年9月26日

顧客との関係は、すべての営業組織の中核となっています。Salesforceは世界有数の顧客関係管理(CRM)プラットフォームで、15万社もの企業がこのプラットフォームを利用して営業情報や顧客情報を記録しています。Salesforceが多くの異なる組織のニーズに合致している理由の1つは順応性ですが、その順応性にも課題はあります。

有用な一方で、複製が難しいSalesforceの数式フィールド

Salesforceには、営業チームのために何千ものオブジェクトを整理して保存する機能が備わっています。しかしながら、多くの場合、ユーザーのデータへの需要は、Salesforceの標準的なオブジェクトやフィールドに収まりません。そのような場合、Salesforceの管理者はカスタムフィールドを作成することになります。カスタムロジックで追加フィールドを定義する場合、このフィールドは数式フィールド、ルックアップフィールド、計算フィールドなどと呼ばれます。

たとえば、ネイティブMRR(月次経常収益)フィールドのあるOpportunityオブジェクトがあるとします。ARR(年次経常収益)フィールドが必要になる場合もあります。Salesforceの管理者は、独立して更新されるARRフィールドを追加する代わりに、基礎データ(この場合はMRRフィールド)に基づいて自動的に追加される計算フィールドを作成します。このARRフィールドは、MRR * 12のように定義します。

数式フィールドは、定期的にインターフェイスをカスタマイズする必要があるSalesforceユーザーにとって、優れたソリューションとなります。しかしデータアナリストにとって最も重要なのはSalesforceから送られてくる生データです。生データをウェアハウスに同期させ、他のソースからのデータと共に分析できることが重要であるためです。カスタムフィールドがデータ専門家にとって問題となりうるのはこの点においてです。

生成値と不正確なタイムスタンプ

技術的には、数式フィールドは生成されるデータを示すもので、Salesforce APIではこれらの値を一次データと同様には扱いません。主な違いは、数式フィールドの値が変更されても、Salesforceはオブジェクトの一次modified_atのタイムスタンプを更新しないという点です。更新が反映されないため、Fivetranは増分同期における数式フィールド値の更新や変更を確実に検出することができません。

Fivetranの増分同期では、各レコードでmodified_at値の更新の有無を確認し、それに基づき該当レコードの新しいデータを同期するかどうかを決定します。Fivetranは、このSalesforce APIの制限を自動的に処理し、数式フィールドを検出して同期から除外することで、データの整合性を保証します。

正確な値と最低限のメンテナンスを保証するビューとしての数式フィールド

Fivetranは、Salesforce管理者との連携により、Salesforce SQL(SOQL)から標準SQLに数式を手動で変換せずに、数式フィールドデータの欠落の問題を解決できるソリューションを開発しました。

新機能「ビューとしての数式フィールド」は、最低限の継続メンテナンスで数式フィールドの値の正確な表現を実現します。このソリューションは、Fivetran_formula_modelテーブルと、新しい変換ソリューションであるSalesforce Formula Utilsの2つのパートで構成されます。

Fivetran_formula_modelテーブル

Fivetranは、Salesforceのスキーマの中に、Fivetran_formula_modelという新しいシステムテーブルを開発しました。この新しいテーブルは、Salesforce管理者によって有効化されたカスタム式を自動的に引き出し、関連するオブジェクト名を、同期された各オブジェクトの完全なSELECTステートメントと共に表示します。カスタムフィールドの検出やSELECTステートメントの生成はFivetranが行うため、Salesforce管理者との調整は不要です。さらに、このテーブルは完全無料で、MARは発生しません。 

Fivetranが、お客様のSalesforceの数式を自動的にメンテナンスします。Salesforce管理者がカスタムフィールドの数式を追加または編集すると、新しい数式が自動的にSQLに翻訳され、Fivetran_formula_modelテーブルに追加されます。Fivetranが生成するSQLトランスレーションは、Standard SQLと、Snowflake、BigQuery、Redshiftに共通したデスティネーション固有のSQLの組み合わせで記述されます。

Salesforce formula Utilsのデータモデル

Fivetran_formula_modelテーブルと連動するのが、Fivetranの変換ソリューション、Salesforce Formula Utilsです。このパッケージは、Fivetran_formula_modelテーブルが提供するSELECT SQL式を使用して、カスタムフィールド値をウェアハウス内のビューとして作成・表示します。アナリストは、この値にアクセスして利用することができます。また、ウェアハウスの数式フィールドのデータは正確かつ最新であり、信頼できるものとなっています。

使用方法

開始時のみいくつかの設定が必要になりますが、以降はすべての機能をご利用いただけます。

Salesforceの同期

現在Fivetran Salesforceコネクタを使用中の場合、Salesforceスキーマ経由でFivetran_formula_modelテーブルが利用できるようになっているはずです。このテーブルは完全無料で、追加のMARは一切発生しません。 

FivetranでSalesforceデータの同期を開始するには、当社のSalesforceコネクタページから14日間の無料トライアルにお申し込みください。

デスティネーションでのビューの生成

Fivetranは、業界をリードするオープンソースの変換ツールであるdbt Coreを利用し、Fivetranコネクタから同期されたデータをリッチ化して分析を活性化する、完全無料のFivetran管理型データモデルを提供します。Fivetranの数式モデルは、そのままデスティネーションでのビューを生成に使用できるようになっています。dbt Coreなどのツールを使うことで、このようなビューの生成を簡単に整理して自動化し、Fivetranによって同期された最新のモデル定義を常に使用することができます。dbtの使用経験がない場合、ツールについて学ぶことをお勧めします。 

準備ができたら、Salesforce formula utilsデータモデルをダウンロードおよびインストールして開始してください。 詳しくは、Salesforceのドキュメントをご覧ください。 

早見表:Salesforceコネクタ

ダウンロード

アイコン

自動的に生成された説明

*dbt Coreは、dbt Labs,Inc.の商標です。その著作権はすべてdbt Labs, Inc.に帰属します。Fivetran Transformationsはdbt Labs, Inc.の製品またはサービスではなく、また弊社が推奨するものでもありません。