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 の製品、サービス、イベントに関するマーケティング情報の受け取りを希望します。受け取りはいつでも停止することができます。