データローダについてちょっと詳しくなる
2021.11.20@Salesforce女子部 Online #3
アジェンダ
● データローダについて
● データローダあるある話
データローダについて
データローダとは
●データのエクスポート
●項目対応付の定義を利用した定期的なデータ操作
●Salesforce レコードの挿入、更新、削除、またはエクス
ポートに使用
●添付ファイルやコンテンツのアップロード
●データ操作結果の確認
ü データローダで操作する際にまずは対象オブジェクトをバックアップ!
ü 更新元のSalesforceIDを取得
ü オートマッピングで合わない項目を毎回手動でドラッグ&ドロップしなくてもよい!
ü sdlファイルを作成しておくと、次のデータローダ操作で再利用できます
ü 実は添付ファイルやコンテンツも登録できるんです!(登録だけです)
ü データ操作に失敗したときのERROR情報は重要!
Salesforceにデータを取り込みたい
インポートウィザード データローダ
・5万件未満
・登録できるオブジェクトに
制限がある
・取引先や取引先責任者の
重複防止
・5万∼500万件
・インポートウィザードが
サポートしていないオブ
ジェクト
・夜間インポートや定期的
なデータ読み込み
・空白で更新したい
❌納入商品 ケース キャンペーン
契約 ドキュメント 商談 商品
インポートウィザードのユニークな設定
●取引先責任者の一致条件
メールや名前を指定できる
●取引先の一致条件
名前と部門が指定できる
●ワークフロールールやプロセスの適用
デフォルトがOFF!
●取引先責任者をキャペーンに割り当て
データローダでできること
挿入
更新
設定
削除
更新/挿入
エクスポート
すべてを
エクスポート
物理削除
Use Bulk APIを
ONにすると選べる
操作前に設定を
確認する癖をつけよう!
レコードの新規登録
SalesforceIDを使った
レコード更新
SalesforceIDや外部IDを
使ったデータの作成・更新
SalesforceIDを
使って削除
データの抽出
ゴミ箱やアーカイブされた
データを含めて抽出
利用できるEdition
● Performance Edition
● Unlimited Edition
● Enterprise Edition
● Developer Edition
組織のEditionを確認する「設定>組織情報」
Professional Editionは
対象外
使えない環境もあるのね!
別途料金(¥)
●サポートするデータ型
チェックボックス型(Boolean): True、yes、y、on、1
False、no、n、off、0
日付型:yyyy-MM-dd etc
https://developer.salesforce.com/docs/atlas.ja-jp.234.0.dataLoader.meta/dataLoader/supported_data_types.htm
●監査項目の設定
作成日や最終更新日の設定ができる
設定>ユーザインタフェース>機能を有効化し、権限セットなどで権限付与
Insert:挿入
ぶーりゃん
ü Salesforce組織を利用する際の初回のデータ移行を想定
ü データ移行が終われば機能を無効化する
ü 参照:「監査項目の作成」権限の有効化
Update:更新
●SalesforceIDを利用してレコードを更新する
●おすすめのステップ
1.対象エクスポートし項目にSalesforceIDを含める
2.Excelなどを利用してデータを加工する
3.更新する際に影響するオブジェクトをバックアップする
4.データローダでupdateを実施
5.操作後にログファイルを確認
6.間違えた場合はバックアップファイルを使って戻す
●項目を空白にしたいとき
設定>Insert null ValuesをONにする
ビジネスプロセスの動作を
理解しておく
関連オブジェクトのレコードが
作成/更新されないか
Apexトリガー、プロセスビルダー、フロー
エクセル(CSV)が空白で
設定がOFFの場合、
既存の値がのこります
エクセルに空白があった場合
どうしたいかによって設定がかわります
Upsert:更新/挿入
●SalesforceIDか外部IDを対象に処理を行う
Salesforceに登録されていればレコードを更新する
Salesforceに登録されていなければ作成する
●CSVに同じSalesforceIDや外部IDが重複してるとエラー
顧客コード(外部ID) 取引先名
CD001 取引先A
CD002 取引先B
顧客コード(外部ID) 取引先名
CD001 取引先A
CD003 取引先C
Salesforce CSV
既存のCD001を更新
新規作成
CSV作成時に重複していないか確認しておこう!
Delete:削除
●おすすめのステップ
1.全件バックアップ
2.削除レコードをバックアップ(SalesforceID付き)、該当レコードに条件を絞り込む
3.データローダでdelete
4.ログファイルを確認
●主従関係の親レコードを消すと、子レコードも消えます。
●取引先削除時の動作について
関連する項目も
バックアップを取るように
しておきましょう!
ごみ箱をみても、取引先レコードしか
入っていないので気付きにくいです。
ブラウザから手で1件消した時も同じ動作です
Hard delete:物理削除
●ブラウザの削除ボタンやデータローダのdeleteボタンは論理削除
●物理削除すると、ごみ箱に入らず削除される
Delete
・15日間ごみ箱に保管
・管理者が「ごみ箱を空にする」
・ごみ箱がいっぱい
ごみ箱から
消去
Hard Delete
ごみ箱から
消去
ゴミ箱に大量のレコードが存在すると
リストビューやレポート、SOQLに影響がある
参照:ごみ箱内のレコードが及ぼすパフォーマンスへの影響について
Export:エクスポート
●SELECT文が書けるとWHERE句のカスタマイズが楽!
リストビューやレポートの条件を真似て作るのが良い
●添付ファイルはエクスポートできない
設定>データのエクスポートからzip形式でダウンロード
●対象のオブジェクトの選び方
Show all Salesforce objectsを選ぶ
よく使うのはロールなど
設定後はメール通知が届くので、
素早くダウンロードしておくこと
(完了後48時間以内)
Export All:すべてをエクスポート
●アーカイブされた活動レコード
SOQL:isArchived = true
参考:アーカイブ済み活動の操作
●論理削除されたレコード
SOQL:isDeleted = true
項目の対応付
●Auto-Match
項目を列に自動で合わせる
1行目はSalesforceの項目名に揃えると楽
●削除はIDだけでOK
●upsertで参照項目の外部IDを指定できる
マッピングの候補に入っていない場合は、
CSVファイル選択後のStep2bの設定が間違っている
●定期作業ならsdlファイルを作る
Save Mappingでファイル保存
出力ファイル
●操作結果を含む2つのCSVファイルを生成する
success:insert/update/upsertはSalesforceIDがつく
error:最後の行にエラーの理由が書かれているので、ちゃんと読みましょう
●作業後しばらくは保管しておきたい。
作業時は、わかりやすいフォルダに格納するとよし
Setting:よく使うところ(1/3)
●insert null values
チェックすると空白更新する。
作業前に設定を確認する癖を
つけよう!
●文字化けしたらUTF-8
のON/OFF確認
ONにするとUTF-8として
CSVファイルを読み込む、
UTF-8としてエクスポート
する
Setting:よく使うところ(2/3)
●Use Bulk API
多くのレコードを読み込み
または削除できる。
null値のオプションが無効
になり、空白にする場合は、
「#N/A」を指定する
Setting:よく使うところ(3/3)
●Time Zone
日付項目がずれる原因。設定値を確認しGMTかAsia/Tokyoにする
Asia/Tokyoの場合は1日追加した値にする
●Proxy
自社のネットワークに
よって設定が必要
データローダの裏側
●2種類のAPIによって動作してます。
SOAP API Bulk API
・Use Bulk APIにチェックいれて
ないとき
・Use Bulk APIにチェックいれてると
き
・設定>一括データ読み込みジョブで
監視できる
・24時間あたりの制限あり
データローダもリリースごとに成長!
メニューをクリックす
ると最新バージョンを
ダウンロードするが
前のバージョンを利用
したいときはこちらの
サイトからダウンロー
ドできます。
リリースによってアク
セス可能なオブジェク
トが増える。 https://github.com/forcedotcom/dataloader/releases
オブジェクト絞り込み条件
が追加されている!!
データローダもうちょい詳しく
利用してる動画があるので
イメージがつきやすい
https://help.salesforce.com/s/articleView?id=000315194&t
ype=1
データローダあるある話
大きなはまりどころ
インストール ログイン CSV作成 ログファイル
• 別途Javaのインスト
ールが必要
• Javaを利用するため
のJAVA_PATHの設
定が正しいか
• Javaのダウンロード
画面が英語で挫けそ
う
• ログインできない場
合は設定>ログイン
履歴を見て、エラー
内容を確認
• セキュリティトーク
ン不足、プロキシ設
定不足
• ログインURLを
Sandboxやマインド
メイン利用など適切
に指定する
• エクセルで丁寧に作
る(日付形式)
• CSVをダブルクリッ
クで開かない!(先頭
0がなくなるよ)
• 必須項目全部ある?
ユニーク項目は本当
にユニーク?
• VLOOKUP関数が活
躍する
• 文字化けはプレビュ
ーで確認
• エラーの原因はerror
ファイルに書いてあ
るので、諦めずに読
むこと
エクセルからCSVを作成する
●Excel形式でデータを加工して、名前を
つけて保存>CSV UTF-8を選ぶ
データローダのSettingでUTF-8を選ぶ
こちらはShift-jisで
保存される
CSVの文字コードは
●Windows:メモ帳で開く
右下に文字コードが書かれている
エクセルからCSVを表示する
1.データ>テキストまたはCSVから
2.文字コードを確認、日付型や先頭0がかけた
項目があればデータの変換
3.列を指定してデータ型をテキストにする
社員コードなど「001234」のように先頭の
0もデータとして取り込む場合に、Excelで
表示すると先頭0がなくなり数値型と判断さ
れることがあります。CSVをダブルクリッ
クで開くのは要注意です
EVENT
Salesforce女子部
2021/12/18(土)
LT枠のみ用意してます!
あなたのスピーチスキルをアップ!
2022/1/22(土)
日本中のSalesforce
コミュニティが大集結!

データローダについてちょっと詳しくなる