Quip終了に伴うデータエクスポートでお困りの方へ

Salesforceのデータローダとは?インストール手順と使い方を解説

Salesforceを運用していると、「大量のデータをまとめて登録したい」「既存データを一括更新したい」「バックアップ用にデータを出力したい」といった場面があります。

Salesforceにデータを取り込む方法はいくつかありますが、大量のデータを一括で登録・更新する場合には、「データローダー(Data Loader)」などのデータ操作ツールが便利です。
本記事では、データローダーの概要からインストール方法、主要な操作方法、実務で起こりやすいミスや注意点まで解説します。

目次

データローダー(Data Loader)とは

データローダーとは、Salesforceが提供するデスクトップアプリケーションです。
CSVファイルなどを使用して、Salesforce上のレコードを一括で登録・更新・削除したり、Salesforceからデータを出力したりできます。


似た機能として「データインポートウィザード」がありますが、データローダーは大量データの処理に対応しているほか、レコードの削除やExportなど、より幅広いデータ操作が可能です。

以下の記事でデータインポートウィザードとの使い分けについて詳しく解説していますので、あわせてご覧ください。

データローダーの主な操作

データローダーでよく使用される操作は、次の5つです。


・Insert:新しいレコードを作成する
・Update:既存レコードを更新する
・Upsert:既存レコードは更新し、存在しないレコードは新規作成する
・Delete:対象レコードを削除する
・Export:対象レコードをSalesforceからCSV形式で出力する

このほかにも、通常のExportでは取得されない削除済みレコードなども対象にできる「Export All」も用意されています。

データローダーを利用するには、対象のSalesforce組織でAPIを利用できることと、処理に応じたオブジェクト権限が必要です。たとえばUpdateなら編集権限、Deleteなら削除権限が必要です。

データローダーのインストール方法

続いて、データローダーをPCへインストールする方法を説明します。
データローダーを利用するには、事前にJavaの実行環境を用意したうえで、データローダー本体をインストールします。

Data Loaderの対応OSや必要なJavaのバージョンは、リリースによって変更される場合があります。
インストール前に最新のリリース情報を確認してください。

Javaのインストール

データローダーを動作させるため、まずJavaをインストールします。
下記URLをクリックし、Windowsの場合は「MSIファイル」、macOSの場合は「DMGファイル」を選択し、使用しているOSとCPUに対応したファイルを選択してください。

以下では、Windowsの場合を例に紹介します。macOSでも、インストーラーを起動して画面の案内に沿って進める基本的な流れは同様です。

ダウンロードしたDMGファイルをダブルクリックします。

ダウンロードしたDMGファイルをダブルクリックすると、インストーラーが表示される

インストーラーが表示されるので、画面の案内に沿って進めていきます。

インストーラーでAzulセットアップ画面が開く

基本的には追加の操作はせずに「Next」ボタンをクリックして問題ありません。

基本は追加の操作はせずに「Next」ボタンをクリック
インストール中はこのような画面になります

インストール完了画面が表示されれば完了です。

インストール完了画面が表示されれば完了です。

データローダーのインストール

Salesforceの設定画面からData Loaderのダウンロードページへアクセスするには「すべてのデータの編集」権限が必要です。
また、PCへのインストールには、そのPCでの管理者権限が必要です。

続いて、データローダー本体をダウンロードします。
Salesforceにログインし、[設定]の[クイック検索]に「データローダー」と入力し、[データローダー]を選択します。

Salesforceにログインし、[設定]の[クイック検索]に「データローダー」と入力し、[データローダー]を選択します。

表示されたリンクからデータローダーをダウンロードします。

表示されたリンクからデータローダーをダウンロード

ZIPファイルを解凍し、Windowsの場合は「install」、macOSの場合は「install.command」を実行します。

Windowsの場合は「install」、macOSの場合は「install.command」を実行

コマンドプロンプトまたはターミナルが起動します。
表示される質問に対して「Yes」または「No」を入力し、Enterキーを押して進めます。

コマンドプロンプトまたはターミナルが起動し、表示される質問に対して「Yes」または「No」を入力し、Enterキーを押して進める

インストール完了後、Data Loaderを起動して以下の画面が表示されれば準備完了です。

インストール完了後、Data Loaderを起動して以下の画面が表示されれば準備完了

データローダーへのログイン方法

データローダーのインストールが完了したら、早速ログインしてみましょう。

データローダーを起動し、[Insert]や[Export]など実行したい操作をクリックすると、Salesforceへのログイン画面が表示されます。

現在のData Loaderでは、主に「OAuth」と「Password Authentication」の2種類のログイン方法を利用できます。

OAuthでログインする場合

ログイン画面で[OAuth]を選択し、接続するEnvironmentを選択して[Log in]をクリックします。

通常のSalesforce組織やDeveloper Editionの場合は「Production」、Sandboxへ接続する場合は「Sandbox」を選択します。

OAuthでログインする場合

ブラウザ上にSalesforceのログイン画面が表示されるため、ユーザー名とパスワードを入力します。
初回利用時などにアクセス許可を求められた場合は、[許可(Allow)]をクリックします。


認証に成功すると、ブラウザ上に「Authorization Successful!」と表示されます。

認証に成功すると、ブラウザ上に「Authorization Successful!」と表示

Password Authenticationでログインする場合

ログイン画面で[Password Authentication]を選択します。

ユーザー名を入力し、「Password+Security Token」欄にはSalesforceのパスワードとセキュリティトークンを続けて入力します。
(たとえばパスワードが「password」、セキュリティトークンが「XXXXXXXXXX」の場合は、「passwordXXXXXXXXXX」と入力します。)

Password Authenticationでログインする場合

セキュリティトークンが必要な環境でログインできない場合は、Salesforceの個人設定からセキュリティトークンをリセットし、登録メールアドレスへ送信された新しいトークンを使用してください。

ログインに成功すると、そのままData Loaderの次の操作画面へ進みます。

データローダーの操作方法

ここからは、主要なデータ操作について説明します。

Insert|新しいレコードを作成する

まず、登録したいデータをExcelなどで作成し、CSV形式で保存します。


CSVの1行目には各列の項目名を記載し、2行目以降に登録するデータを入力します。
CSVの列名は任意に設定してマッピングできますが、SalesforceのAPI参照名に合わせておくと、項目を対応付ける際に分かりやすくなります。


今回は取引先オブジェクトに対し、標準項目である「取引先名(Name)」と「取引先 部門(Site)」へデータを登録します。「Site」は取引先の本社・支店などの場所や部門を表す標準項目です。

Insert|新しいレコードを作成する

Data Loaderを起動し、[Insert]をクリックします。

Data Loaderを起動し、[Insert]をクリック

ログイン後、登録先のオブジェクトを選択します。今回は「取引先」を選択します。
続いて[Browse]から作成したCSVファイルを選択し、[Next]をクリックします。

[Browse]から作成したCSVファイルを選択し、[Next]をクリック

CSVの読み込み件数などが表示されるため、内容に問題がなければ[OK]をクリックします。

CSVの読み込み件数などが表示されるため、内容に問題がなければ[OK]をクリック

次に、リレーションを設定する画面が表示されます。

この画面では、関連するレコードを外部IDを使って紐付ける場合に、照合に使用する項目を指定します。
今回のように外部IDを使用しない場合は、特に設定を変更する必要はありません。
そのまま[Next]をクリックして次の画面へ進みます。

[Next]をクリックして次の画面へ進みます

続いて項目のマッピングを行います。CSV側の列とSalesforce側の項目が正しく対応していることを確認してください。

今回であれば、下記の様に対応付けます。
・Name → Name
・Site → Site

項目のマッピング

次に、「Browse」ボタンをクリックし、SuccessファイルとErrorファイルの保存先を指定します。

「Browse」ボタンをクリックし、SuccessファイルとErrorファイルの保存先を指定

【Successファイル/Errorファイルとは?】
Successファイルには処理に成功したレコード、Errorファイルには処理に失敗したレコードとエラー内容が記録されます。
エラーが発生した場合はErrorファイルの内容を確認し、原因を修正したうえで対象レコードのみ再実行します。

保存先を指定したら[Finish]をクリックします。
最終確認の警告が表示されるため、対象オブジェクトや件数、CSVファイルに問題がないことを確認して[はい]をクリックします。

最終確認の警告が表示されるため、対象オブジェクトや件数、CSVファイルに問題がないことを確認して[はい]をクリック

処理が完了すると、成功件数とエラー件数が表示されます。

処理が完了すると、成功件数とエラー件数が表示される

Salesforceを確認すると、CSVに入力した会社名とSiteの値が新しい取引先として登録されていることを確認できます。

Salesforceを確認すると、CSVに入力した会社名とSiteの値が新しい取引先として登録されていることを確認できる

Update|既存レコードを更新する

Updateでは既存レコードの値を変更します。
Insertとの大きな違いは、どのレコードを更新するのか特定するためにSalesforceのレコードIDが必要になることです。

まずExportなどで更新対象レコードの「Id」を取得し、CSVにIdと変更したい項目を用意します。
今回は、先ほどInsertした「株式会社サンプルA」~「株式会社サンプルE」の部署名を「社長室」に更新します。

Exportなどで更新対象レコードの「Id」を取得し、CSVにIdと変更したい項目を用意する

Data Loaderで[Update]を選択し、Insertと同様に対象オブジェクトとCSVを指定します。

Data Loaderで[Update]を選択し、Insertと同様に対象オブジェクトとCSVを指定

マッピング画面では、CSVのId列をSalesforceの「Id」へ必ずマッピングしてください。
Idが正しく対応付けられていない場合、更新対象を特定できずエラーになります。

マッピング画面では、CSVのId列をSalesforceの「Id」へ必ずマッピング

以降のSuccess/Errorファイルの指定と実行方法はInsertと同様です。

操作完了後にSalesforceを確認すると、CSVに入力した会社の部門が更新されていることを確認できます。

Salesforceを確認すると、CSVに入力した会社の部門が更新されていることを確認できる

Upsert|新規作成と更新を同時に行う

Upsertは、既存レコードが見つかった場合はUpdateし、該当するレコードが存在しない場合はInsertする操作です。

SalesforceのレコードIDや「外部ID」として設定された項目を照合に利用できます。
外部システムからSalesforceへ定期的にデータを取り込むケースなどで便利です。

今回はSalesforceのIdを使用する場合を例にします。
既存レコードにはIdを入力し、新規作成するレコードではIdを空欄にしたCSVを用意します。

既存レコードにはIdを入力し、新規作成するレコードではIdを空欄にしたCSVを用意

Data Loaderで[Upsert]を選択し、Insertと同様に対象オブジェクトとCSVを指定します。

Data Loaderで[Upsert]を選択し、Insertと同様に対象オブジェクトとCSVを指定

対象オブジェクトとCSVを指定すると、「新規レコードか既存レコードかを見分けるにあたり、どの項目を照合に使用するか」を選択する画面が表示されます。
使用する項目を選択して次に進みます。今回は、「Id」を設定します。

使用する項目を選択して次に進みます。今回は、「Id」を設定

以降の手順はInsert・Updateと同様です。

操作完了後にSalesforceを確認すると、CSVのId列が空白だった会社は新規作成されており、Id列が入力されていた会社の部門は更新されていることを確認できます。

CSVのId列が空白だった会社は新規作成されており、Id列が入力されていた会社の部門は更新されていることを確認できる

Delete|レコードを一括削除する

Deleteでは、削除するレコードを特定するためのSalesforce IDをCSVに用意します。
(今回はわかりやすいようB列には「Id」に対応する会社名を記載しておりますが、実務では不要です。)

Delete|レコードを一括削除する

Data Loaderの[Delete]を選択し、対象オブジェクトとCSVを指定します。

Data Loaderの[Delete]を選択し、対象オブジェクトとCSVを指定

マッピング画面では、CSVのId(左側)とSalesforceのId(右側)が対応付いていることを確認します。

マッピング画面では、CSVのId(左側)とSalesforceのId(右側)が対応付いていることを確認

以降はInsertと同様に保存先を設定して処理を実行します。

Deleteの操作では、「Finish」ボタンをクリック後、他の操作よりも1つ多く警告が表示されます。
これは「データが復元できなくなる可能性がある」という警告です。
削除するデータに間違いがなければ「はい」をクリックしてください。

削除するデータに間違いがなければ「はい」をクリック

通常のDeleteで削除したレコードはSalesforceのごみ箱へ移動します。
操作完了後にSalesforceを確認すると、CSVに記載していたIdのレコードが削除され、ごみ箱に入っていることが確認できます。

CSVに記載していたIdのレコードが削除され、ごみ箱に入っていることが確認できる

ごみ箱は、アプリケーションランチャーから「ごみ箱」と検索し、確認することができます。

Export|SalesforceデータをCSVで出力する

Exportは、Salesforce上のレコードをCSV形式で取得する操作です。
Data Loaderのトップ画面から[Export]を選択します。

Export|SalesforceデータをCSVで出力する

対象オブジェクトとCSVの保存先を指定します。
ファイル名を指定する際はファイル名を「〇〇〇.csv」という形で保存することで、CSV形式のファイルとして出力することができます。

ファイル名を指定する際はファイル名を「〇〇〇.csv」という形で保存することで、CSV形式のファイルとして出力できる

次の画面で出力する項目を選択します。必要に応じて条件を指定することで、対象レコードを絞り込むこともできます。

全ての項目を出力したい場合は、「Select all fields」ボタンをクリックし、項目を全選択します。

全ての項目を出力したい場合は、「Select all fields」ボタンをクリックし、項目を全選択

[Finish]をクリックするとExportが開始され、指定した保存先へCSVファイルが出力されます。

UpdateやDeleteの前に対象レコードをExportしておけば、Salesforce IDの取得だけでなく、変更前データのバックアップとしても利用できます

実務で起こりやすいミス

データローダーは大量のデータを効率的に操作できる便利なツールですが、一度の操作が多数のレコードへ影響するため、利用時には注意が必要です。

Insertによる重複レコードの作成

Insertは常に新しいレコードを作成します。

そのため、Salesforce上に同じ顧客や取引先が存在していても、重複ルールなどで登録が制御されていなければ、重複レコードが作成される可能性があります。

Insert実行前に既存データとの重複がないか確認し、既存レコードと新規レコードが混在している場合はUpsertを利用するなど対策しましょう。

Update・Upsert時の「Insert null values」

Data Loaderの[Settings]には、「Insert null values」という設定があります。

Data Loaderの[Settings]
Insert null values


通常、CSV内のセルが空欄の場合、Data Loaderはその項目について「変更なし」として扱います。
一方、「Insert null values」を有効にすると、マッピングされた項目の空欄セルをNULLとしてUpdateできるため、Salesforce上の既存値を空欄にできます。

項目を意図的に空欄へ変更する場合には便利ですが、設定が有効になっていることに気付かずUpdateやUpsertを行うと、必要な既存値まで消去してしまう可能性があります。

NULL更新を行う必要がない場合は、実行前に[Settings]を開き、「Insert null values」にチェックが入っていないことを確認しましょう。

Delete時のカスケード削除

Salesforceの主従関係では、主レコード(親)を削除すると、その配下にある従レコード(子)も自動的に削除されます
この仕組みをカスケード削除と呼びます。

そのため、Delete用CSVに記載されている件数だけを見て「この件数しか削除されない」と判断するのは危険です。
Deleteを実行する前に下記を確認しましょう。

Deleteを実行する前に確認すること

✓ 削除対象が他オブジェクトの親になっていないか
✓ 主従関係などのリレーションが存在しないか
✓ 関連する子レコードも削除されて問題ないか

特に大量削除を実施する場合は、親レコードだけでなく関連する子レコードについても事前にExportしておくと、誤削除時の確認や復旧に役立ちます。

データローダー使用時のポイント

Salesforce公式では、データ操作を行う前にバックアップを取得することと、少数のレコードで事前にテストすることを推奨しています。
大量のデータを短時間で操作できるツールだからこそ、確認工程を省略しないことが重要です。

使用前にはバックアップを取得する

UpdateやDeleteなど既存データへ影響を与える操作の前には、対象レコードをExportし、変更前のCSVファイルを保存しておきましょう。
バックアップを残しておけば、意図しない更新や削除が発生した際に、変更前の値を確認できます。

一括取込・更新前に少数レコードでテストする

いきなり数千件・数万件のデータを処理するのではなく、まず数件程度で操作を行い、Salesforce上で想定した結果になっていることを確認しましょう。
問題がなければ、その後に対象件数を増やして本番の処理を実施します。

また、処理後はData Loader上の成功件数・失敗件数だけでなく、SuccessファイルとErrorファイルも確認します。Errorファイルにレコードが存在する場合は、エラー原因を確認してCSVを修正し、失敗したレコードのみ再度処理しましょう。

最後に

データローダーは、Salesforceのデータを効率的に操作するうえで非常に便利なツールです。
各操作の役割と注意点を理解し、バックアップや事前テストを行ったうえで安全に活用しましょう。

データローダーの設定がうまくできない場合は、サンブリッジのコンサルタントによるサービス代行やチケット制でのサポートを利用して迅速かつ正確に実装するという方法もあります。

Salesforce/Account Engagement(旧Pardot)サポートサービス

お困りの際はサンブリッジへお気軽にお問い合わせください。

サービス・ソリューションに関するお問い合わせ

Salesforce・AWSなど、ご支援に関してご不明な点やご相談はこちらからお問い合わせください。

貴社のビジネス課題を発見し、解決にむけてコンサルタントがご提案いたします。

この記事を書いた人

SIerでデータ分析領域の営業・営業推進を経て、現在は未経験からSalesforceコンサルタント・エンジニアへ転身し活動しています。
前職では、私自身も一人のユーザーとして日々Salesforceを利用していました。

本ブログでは、Salesforceエンジニアになった今だからこそわかる気づきをもとに、現場の業務効率化に直結する改善策をお届けします。

目次