※この記事作成以降に情報のアップデートがあった場合、本記事内容と異なる場合があるかもしれませんのでご了承ください。
———————————————————-
Dataloaderの大まかな話は、「SalesforceのDataloaderは大量データを一括処理したい時に使う」の記事内でも触れましたが、ここではDataloaderの機能の1つであるデータの更新登録(Upsert)を紹介しましょう。
また、前回記事「SalesforceのDataloaderを使ってデータ更新(Update)する」を読んでから本記事を読むとスムーズに理解できると思いますので、前回記事をまだ読んでいない人はそちらから読むことをお勧めします。
前回までに登録(Insert)と更新(Update)をやってきましたが、実は両方を一度に実行できる機能が「Upsert」という機能です。
簡単に言えば、「一致するデータがある場合は”更新”をして、一致するデータがない場合は”登録”をする」という機能なのです!
利便性を優先して搭載された機能ですが、慣れていないと操作ミスが起きやすい機能ですので、この機会にぜひ覚えておきましょう!
==================================================
補足:環境
OS:Windows 10
Dataloader:Ver 44
==================================================
DataloderでデータをUpsert(更新登録)
(1)Salesforceにログイン
Dataloaderを起動して「Upsert」ボタンをクリックして下さい。
ログイン画面が表示された場合は、操作する環境のアカウントを使ってログインをしてください。
ログインの操作方法がよくわからないという人は、「SalesforceのDataloaderを使ってデータ登録(Insert)する」の記事で取り扱ってますので参考にしてみてください。
(2)オブジェクトの選択とデータファイルの指定
データを更新登録するオブジェクトとデータを保持しているcsvファイルを選択して、次に進みます。
ここでは対象オブジェクトを「取引先」として進めていきます。
※更新登録データファイルは事前に用意しておいて下さい。
更新には対象のレコードを識別できる「Id」が必要です。事前にデータを抽出して「Id」がわかるようにしておきましょう。
■用意するファイル
簡単に言うと、ここで用意するファイルは「Insert」「Update」のときに用意したファイルが合わさったような形式になります。
「Insert」では「Id」項目が不要(システム側で作成してくれる)、「Update」では「Id」をキー項目として使っていましたね?
では、用意するファイルのサンプルをご覧下さい。
1行目が項目のAPI参照名で、2行目と3行目が「Update」のレコードとなり、4行目が「Insert」のレコードとなります。
このようにして「Idをキー項目として、一致するデータがある場合は”更新”をして、一致するデータがない場合は”登録”をする」を表します。
「キー項目に一致するレコードと一致しないレコードが混ざったデータ」を表す一例ですが、これが基本となると思いますので、まずはこの方法を覚えるといいでしょう!
(3)更新項目のマッピング
■キー項目の選択
今回は「Id」以外を用意していないため、他に選択肢がありませんのでそのまま次へ進みましょう。
ここでは詳しく述べませんが、設定によっては「Id」以外を使用することもできます。
例えば、「社員番号」みたいな固有となるようなものが使用できると思います。
■項目マッピング
更新登録項目のマッピングをしましょう。
マッピングの方法は「SalesforceのDataloaderを使ってデータ登録(Insert)する」の記事で取り扱ってますので参考にしてみてください。
「Create or Edit a Map」から人為的ミスをしないように「Auto-Match Fields to Columns」を使ってマッピングしましょう。
(4)ログ格納場所指定
実行ログを格納する場所を設定して「Finish」をクリックしましょう。
(5)更新登録結果の確認
結果で、「~successful ~errors」が表示されているはずです。ここでerrorが0であれば問題なく更新登録できています。
もしerrorがあった場合は、出力されるerrorファイルにエラーになった理由が記載されていますので、その内容を基に修正して再度「更新登録」を実行してみてください。
「View Successes」のボタンをクリックするとサクセス内容が表示されますので、見てみましょう!
用意したファイルの内容のとおりに、2行目と3行目が「Update」のレコード、4行目が「Insert」のレコードとして成功していますね。
いかがでしたでしょうか?
2つの機能を同時に実行できると効率よく作業ができる気がしてきませんか?
場面によって有効活用して効率よく作業してみましょう。
2つの作業を同時にできるとなれば、技術者としてレベルアップしていること間違いナシです!
ただし、2つのことを同時に作業をしているということは、万が一作業ミスをしてしまった場合には、リカバリーする作業も増えてきます。
Insert、Updateの時以上に慎重に実施しましょう。
次回は、「データの削除(Delete)」について取り扱おうと思います。
それではまた次の機会にお会い致しましょう。