Salesforceにデータを取り込む

運用

公開日: 2021.06.16

Share:

この記事で学べること

  • 別システムのデータをSalesforceに取り込む場合の考慮事項について知ることができます

Salesforceへデータを取り込む理由

皆様の会社では、業務でどんなシステムを使っていますか?

きっとSalesforce以外にもたくさんのアプリケーションを使っていると思います。

そして、日々の運用という観点では、それら別々のシステムに保存されているデータを取り出して、集計や報告をしなければならないということもあると思います。が、それって結構面倒ですよね?「もう少し楽にできないか?」と感じることもあるでしょう。そんな時に、「Salesforceにデータを(自動で)取り込めないか?」と考えるかもしれません!

そうです。Salesforceにデータを取り込めば、レポートやダッシュボード使って、手軽に集計や報告ができそうですね。

この記事では、「Salesforceにデータを取り込む場合の考慮事項」について、(自動化以外の)手動の方法も含めて概要をご紹介します。(データ量によっては、Salesforceではなく、CRM Analyticsなどにデータを取り込むほうが良い場合もあります)

まずは、Salesforceにデータを取り込むために用意されている方法を見てみましょう。

データインポートウィザード

データインポートウィザードを使用すると、あらかじめ用意したCSVファイルをアップロードし、取引先、取引先責任者、リード、キャンペーンメンバー、カスタムオブジェクトなどへ容易にデータをインポートできます。

Database.com Edition以外の)すべてのエディションでご利用可能で、一度にインポートできるレコードの最大数は 5 万件です。

Salesforceの画面上から実行できるので最も簡単な方法となりますが、自動化はできません。

特徴は、取引先と取引先責任者を同時に(互いを関連付けた状態で)インポート出来る点です。

そのため、これからSalesforceにデータを投入して使い始めるお客様には、最適な機能です。

※データインポートウィザードで商談をインポートすることはできません。商談をインポートする場合はデータローダを使用します

データインポートウィザードについては、Excelの顧客データを取り込む(サクセスナビ)をご確認ください。

データローダ

データローダを使用すると、あらかじめ用意したCSVファイルを使用して(レコードのインポートのみでなく)更新や削除、エクスポートができます。

Enterprise Edition以上、もしくはDeveloper Edition、Database.com Editionでご利用可能で、一度に操作できるレコードの最大数は、5 百万件です。

データローダは(英語の)クライアントアプリケーションなので、PCにインストールが必要ですが、Windows端末をご利用の場合は自動化(バッチモード)もできます。

データローダは、データインポートウィザードでは対応していない(商談等の)オブジェクトにも使用できますが、複数のオブジェクトに対して一度に作業を行うことはできません。互いに関連しているデータをインポートする場合は、親 → 子の順番でインポートをしていきます。

また、データローダはAPIを消費しますので、上限を超過しないように注意が必要です

詳細は、API 要求の制限と割り当てをご確認ください。

データローダの画面操作については、以下をご確認ください。

データローダのバッチモードについては、バッチモードでの実行 (Windows のみ)をご確認ください。

さて、ここまでは、Salesforceが標準で提供している機能(方法)についてご紹介しました。

データローダのバッチモードは、設定ファイルの編集やバッチファイルの起動など、Salesforceの設定だけでは完結しません。設定をする場合にはシステム管理者と協力して進めましょう。(もし、ご自身がSalesforceのシステム管理者の場合は、データローダを使用して連携したいシステムの管理者の方と協力しましょう)

これ以降は、外部システムから直接API(アプリケーション・プログラミング・インタフェース)を呼び出す方法をご紹介します。

「自分にはAPIを呼び出すなどのスキルが無い・・・」というシステム管理者の方も、ご安心ください。AppExchangeでパートナー企業を探すこともできます!

Salesforce API

APIを使用して開発をすれば、ほぼ何でもできます!(しかし、これは、言いすぎかもしれません・・・)

この記事では、外部システムのデータをSalesforceに定期的に取り込むことで、手動での外部システムからのデータのダウンロード、(場合によってはデータの加工)、Salesforceへのデータインポートにかかる工数を無くす方法について考えてみましょう。

※お客様のユースケースによっては、外部システムのデータをリアルタイムにSalesforceの画面に表示したいこともあるでしょう。その場合、定期的にデータをロードしても間に合いません!以下

どのようなツールを利用すべきですか?

サードパーティ製の ETL ツールを利用することもできますし、独自のクライアントアプリケーションを開発することもできます。

いずれにせよ必要な処理は、一定期間内に発生した外部システムのデータ変更を取得し、そのデータを(必要であればSalesforce用に加工して)Bulk APIもしくはSOAP APIを使用してSalesforceに取り込みます。

どのAPIを使用すべきかですか?

使用するAPIは、取り扱うデータ量を元に選択します。

Bulk APIは、大量データ(数千から数百万単位のレコード)を扱うために最適化されています。複数のバッチを並列して送信するので、多数のレコードをで挿入、更新、更新/挿入または削除できます。

一方、SOAP API は、一度に少数のレコードを更新するリアルタイムのクライアントアプリケーション用に最適化されています。SOAP API を使用しても多数のレコードを処理することはできますが、数十万のレコードを扱う

また、Bulk APIとSOAP APIの違いは以下の通りです。

APIの種類
プロトコル
データの形式
同期/非同期
1APIの種類
プロトコル
データの形式
同期/非同期
2Bulk API
REST
CSV、JSON、XML
非同期
3SOAP API
SOAP (WSDL)
XML
同期
  • Bulk API には 2 つのバージョン (1.02.0) があります。2.0の方がデータの取り扱いが容易ですが、データローダは2.0に対応していません。
  • 他の種類のAPIを含めた説明は、Salesforce Lightning プラットフォーム API の概要(Trailhead)をご確認ください。

データを取り込むタイミング

営業時間内にデータを取り込むと、画面上でユーザがデータを更新などしていた場合に(バッチ処理と)競合して、ロックやエラーが発生することがあります。

バッチ処理は、事前にフルSandbox等で実際にかかる所要時間を確認し、夜間などユーザが操作をしていない時間帯にスケジュールしましょう

  • Bulk APIのフルSandbox等での評価時にロックエラーが発生する場合には、データの投入順序を調整するといった対処が必要になる事があります。(ロックエラーが出て対処法を模索中の場合は、この資料英語のブログが参考になります)

学習ツール

まとめ

  • 外部システムからデータを取り込む処理は、大量データになることがあるのでBulk APIに対応したツールがおすすめです
  • データの取り込みを本番に実装する前に、所要時間の確認を含めSandboxで事前検証しましょう

運用

公開日: 2021.06.16

Share:

前の記事「ユーザ管理の便利機能」

このカテゴリの人気記事

おすすめの記事

Salesforce活用に役立つメルマガ登録

  • 私は、個人情報保護基本方針プライバシーに関する声明個人情報利用についての通知に同意します。 特に、プライバシーに関する声明で定めるとおり、情報のホスティングと処理を目的として私の個人データをアメリカ合衆国を含む国外に転送することを許可します。詳細私は、海外では日本の法律と同等のデータ保護法が整備されていない可能性があることも理解しています。詳細はこちらでご確認ください

  • 私は、Salesforce の製品、サービス、イベントに関するマーケティング情報の受け取りを希望します。私は、当該マーケティング情報の受け取りを私がいつでも停止できることを理解しています。