Salesforceのデータローダ活用ガイド – 実践編- 各種機能や実運用で使えるポイントまで徹底解説
この記事でわかること
- データローダの各種メニューの機能
- データローダとインポートウィザードの使い分け
- 実運用で使える豆知識
執筆者 取締役 / CTO 内山文裕
前回の記事ではSalesforceのデータローダの基本知識と皆様のPCへのセットアップ手順をご紹介いたしました。
本記事ではいよいよ、データローダの詳しい使い方や実運用で使える豆知識についてご紹介いたします!
「まだセットアップができていない!」
「もう一度基本から見直したい!」
という方は、【前編】Salesforceのデータローダ活用ガイド – 基礎知識〜セットアップ編を是非ご一読ください!
また、Salesforceの基本的な情報はこちらの記事をご覧ください。
目次
1. Salesforceデータローダの各種メニュー機能について
データを起動すると、まずはじめに各種メニューが配置されたウィンドウが表示されます。
これらのメニューでどのような処理を実行できるか、1つずつご説明します。
Insert(レコードの挿入)
新しいレコードをSalesforceオブジェクトに追加するために、この”Insert”メニューを使用します。CSVファイルに挿入したいデータを入力しておき、データローダを用いてCSVファイルをインポートすることで、一度に複数のレコードをSalesforceオブジェクトに挿入できます。
Update(レコードの更新)
“Update”メニューは、既存のSalesforceオブジェクトレコードを更新するための機能です。”Insert”同様、CSVを用いて更新したいレコードをデータローダ経由でインポートすることで、一度に複数のレコードを更新することができます。ただし、Updateの場合には更新対象を一意に特定するために、レコードのSalesforce ID、または外部キーをCSVファイルに含める必要があります。
Upsert(レコードの挿入または更新)
“Upsert”メニューは、”Insert(レコードの挿入)”と”Update(レコードの更新)”を一つにまとめた処理です。インポートするCSVの中で、Salesforce ID(または外部キー)が指定されている場合はそのレコードが更新され、指定されていない場合は新規レコードとして挿入されます。
Delete(レコードの削除) / Hard Delete(レコードの完全削除)
特定のオブジェクトレコードを削除したい場合に”Delete”または”Hard Delete”メニューを使用します。インポートするCSVファイルにSalesforce IDまたは外部キーを含めることで、それらのレコードを削除することができます。
“Delete”メニューでレコードの削除をする場合、削除されたレコードはごみ箱へ移動され、最大で15日間保持されます。ゴミ箱にレコードが保持されている間であれば、レコードを復元することができます。組織のストレージ容量によってごみ箱に保持できるレコード数が定められており、保持できるレコード数は”25 × 組織のストレージ容量(MB)”で算出することができます。
▼ 組織のストレージ容量が2,000 MB (2 GB) の場合
ごみ箱には 50,000 レコードを収容できます (25 x 2,000 = 50,000 レコード)
ごみ箱内のレコード数がこの制限数を超えた場合、ごみ箱に移動された日時が古いものから完全削除されます。
ごみ箱に移動させる必要がなく、はじめから完全削除させたい場合には”Hard Delete”メニューを使用します。なお、”Hard Delete”メニューはデフォルトでは選択できないように管理されています。”Hard Delete”メニューを有効化されたい場合は、Salesforce公式のヘルプページをご参照ください。
操作方法(Insert, Update, Upsert, Delete, Hard Delete)
対象のオブジェクトを選択し、CSVファイルを指定して[Next >]を選択
CSVが正常に読み込まれると、何件読み込まれたかメッセージ表示される
CSVのデータをSFオブジェクトに取り込むにあたり、CSVのどの値をSFオブジェクトのどの項目に紐付けるのか設定します。
1. 既に項目紐づけ用のマップファイルがある場合はこちらを選択し、マップファイルを指定する
2. 新たに項目紐づけを行う場合はこちらを選択
3. CSVの項目とオブジェクトの項目のマッピングが表示される
上記内容を確認し、問題なければ[Next >]を選択
1. 既に紐付けられた項目を解除するボタン
2. 項目名の一致をキーに、自動で紐づけを行うボタン
3. SFオブジェクト項目の一覧。項目をドラッグ&ドロップすることで4.のCSV項目に手動で紐づけすることができる
4. CSV項目の一覧。SFオブジェクト項目との紐づけ状況を確認することができる
[Save Mapping]を選択することで、4.のCSV項目とSFオブジェクト項目のマッピングファイルを出力することができます。
同一フォーマットのCSVを定期的に扱うことがある場合、マッピングファイルを出力しておくことで次回以降の作業を短縮することができます。
上記内容を確認し、問題なければ[OK]を選択後、元の画面で[Next >]を選択
Insert完了時のログファイルの出力先を指定します。
ログファイルは作業履歴として残しておくことで何かあった際の拠り所となるため、適切な箇所で管理することをオススメします。
出力先を確認して問題なければ、[Finish]を選択
Insertが完了すると、何件作成ができたかメッセージ表示されます。
取り込み結果は[View Successes]を選択することで成功したレコードを、[View Errors]を選択することで失敗したレコードを確認することができます。
これらの画面で確認できるデータは、ログファイルで出力されているデータと同一です。
[OK]を選択することで、作業完了
Export(レコードのエクスポート) / Export All(すべてのレコードのエクスポート)
Salesforce環境上に保存されているデータをエクスポートする場合に”Export”または”Export All”メニューを使用します。
“Export”はアクティブな(削除されていない)レコードのみを抽出するのに対して、”Export All”はごみ箱に移動されたレコードも含めて抽出することができます。
操作方法
エクスポートしたいオブジェクトを選択し、エクスポートするファイル名を指定して[Next >]を選択
1. 抽出したい項目を選択
2. 抽出したい条件を選択
3. 1.と2.で選択した抽出項目、条件が指定されたSOQLが出力される
上記内容を確認して[Next >]を選択、SOQLに問題がなければCSVファイルが所定のフォルダに出力される
2.どのような場合にSalesforceのデータローダを使うか?
Salesforceではデータの一括作成・更新の手段としてデータローダとインポートウィザードの2つの方法が考えられますが、どの様に使い分けるべきかというご相談をよくいただきます。そこで、どのような場合にデータローダを用いるべきかを簡単にご紹介いたします。
データローダを用いるべきケース
- 5万〜500万件のレコードを取り扱う必要がある
- インポートウィザードが対応していないオブジェクトに対する操作の必要がある
- バックアップ目的でデータをエクスポートしたい
インポートウィザードを用いるべきケース
- 5万件以下のレコードを取り扱う場合
- インポートウィザードが対応しているオブジェクトに対する操作の場合
- 対象オブジェクトの項目数が50未満の場合
- データに複雑な項目の対応付が含まれていない場合
データローダはインポートウィザードに比べてより多くのデータを取り扱うことができ、複雑なデータ構造にも対応可能な反面、セットアップの手間がかかるのが難点です。前述のケースと照らし合わせて、適したツールを選択することが大事です。
3. Salesforceデータローダの実運用で使える豆知識
ログファイルを文字化けさせずに開く方法
InsertやUpdateをしたあと、ログファイルを開くと「あれ?文字化けしてる」という経験をしたことはありませんか?実はデータローダで出力されるログファイル(CSV)はUTF-8という文字コードで出力されるのですが、デフォルトの場合CSVファイルをダブルクリックして開くとExcelアプリがShift-JISのファイルだと自動で認識してしまい、そのズレが文字化けを引き起こしてしまいます。
そのため、ログファイルを開く際には以下の手順で開くようにしましょう。
1. Excelの新規Bookを開く
2. データ>[外部データの取り込み]から[テキストファイル]を選択する
3. 表示したいログファイルを選択する
4. [元のファイル]の選択肢を”Unicode (UTF-8)”に変更し、文字化けがないことを確認して[次へ]
5. 区切り文字を”カンマ”のみ指定して[次へ]
6. “選択したデータのプレビュー”の全列を選択し、”列のデータ形式”にて文字列を選択して[完了]
7. データの入力先を確認して[インポート]
8. シートにログファイルが文字化けなく表示されていることを確認
InsertしたレコードのSalesforce ID確認方法
データ移行のために、他システムからデータを加工してCSVでインポートすることも多いかと思います。InsertされたデータはSalesforce上でSalesforce IDが割り振られて保存されていますが、このSalesforce IDを確認したいときに、わざわざExportをして確認するのは手間ですよね。この手間を解消する方法をご紹介します。
実は、Insertしたときのログファイルには、Insertしたデータに”ID”と”Status”という列が追加された状態のレコードが記録されています。この”ID”という列にはInsertされたSalesforce IDが記録されているため、ログファイルを確認するだけでSalesforce IDを取得することができます。
実務でもこういったお問い合わせをいただく事が多いため、実はご存知ない方も多いのかもしれません。(またはあまりログファイルを見ないため忘れ去られている、、、?)
この記事を機に、是非活用してみてはいかがでしょうか。
4. まとめ
前記事・本記事の2回に渡ってデータローダの活用ガイドをご紹介いたしました。今回の記事内容が皆様の日々の業務に役立てば幸いです。
ストラではデータローダを用いたSalesforceの運用支援はもちろん、システムグランドデザインの検討やSalesforceの導入支援・運用支援まで一貫して実績をもったコンサルタントが支援しています。
Salesforceに関してお困りごとがありましたら、お問い合わせフォームより、お気軽にご相談ください。