先日「
データローダのUpsert方法とCSVファイルの作り方」の記事を公開しましたが、Professional Editionでは通常はデータローダの使用はできません。
参考記事:
Professional Edition できないこと、できることを再確認そこで今回は、データインポートウィザードで外部IDを使用した参照項目のインポート方法をご紹介いたします。
データインポートウィザードの主な特徴は・取引先、取引先責任者、リード、ソリューション、キャンペーンメンバー、個人取引先などの標準オブジェクトとカスタムオブジェクトのレコードのインポートが可能
・一度にインポートできるレコードの最大数は 5 万件
・ワークフロールールおよびプロセスを適用するか選択できる
・複数のレコードタイプのレコードを同時にインポートできない
そのほかの詳しいデータインポートウィザードの基本については、
会員限定記事「
データの一括更新 ②データインポートウィザードとは」、Salesforceヘルプ「
データインポートウィザード」をご確認ください。
今回のサンプルデータ
別のシステムからエクスポートしたデータのサンプルとして、このようなデータを用意しました。(前回の
記事と同じデータです)
エクスポートした「購入履歴ID、購入日時、購入商品名、購入商品番号、購入金額、購入者氏名、顧客番号」の情報を、カスタムオブジェクトの「購入履歴」にインポートできるようにします。

外部IDの設定
※「
データローダのUpsert方法とCSVファイルの作り方」とほぼ同じ内容です。
外部IDは、Salesforce IDとは異なるユニークなキー項目で、カスタム項目で設定することができます。
会員限定記事「
データの一括更新 ⑩ 外部IDとは」でも詳しく紹介されています。
今回のサンプルデータでは「購入商品番号」と「顧客番号」を外部IDとして、Salesforceに項目を作成することで、Salesforce IDを使用しなくてもレコードを識別することができます。
「購入商品名」は商品オブジェクトの参照項目で、「購入者氏名」は取引先の参照項目です。

もし外部IDを設定していない場合は、Salesforce IDを含めた情報をレポートやデータローダなどでエクスポートし、このようにVLOOKUP関数などを使用して、Salesforce IDを追加する必要がありますが、外部IDを設定していれば、この加工作業が不要になります。

外部IDの設定方法はカスタム項目の一般的なオプションで「ユニーク」と「外部ID」にチェックを入れるだけです。
※自動採番の場合は「外部ID」のみのチェックです。
外部IDに設定できるデータ型は、テキスト、数値、メール、自動採番です。

元々外部IDになりそうな項目が存在し、値も入力されていたが、項目設定の一般的なオプションで外部ID設定になっていなかった場合は、設定変更するだけで大丈夫ですが、今回のようなインポートの運用が追加された場合で、外部ID項目を新たに作成した場合は、項目作成後に外部ID項目に値を追加しておく必要があります。
CSVファイルの作成
別のシステムからエクスポートしたデータがCSVファイルであれば、この「CSVファイルの作成」の手順は不要です。
また、今回のサンプルデータはデータを加工する必要はありませんが、誰かが加工したデータをインポートに使うような場合に、「購入金額」のような通貨の列でセルの書式が通貨になっている場合があります。そのような場合は、カンマを外すようにしてください。
CSVファイルとして保存[ファイル] → [名前をつけて保存]か、キーボードの[F12]をクリックします。
ダイアログボックスの[ファイルの種類]から「
CSV UTF-8(コンマ区切り)」か「
CSV(コンマ区切り)」を選択して保存します。
ちなみに、私は
UTF-8派です。

CSVファイルが保存されたら、メモ帳などのテキストエディタで作成したデータを確認します。
金額が通貨のままで列がずれている、加工時に値のクリアだけで行の削除がされておらず残っているなど、Excelで表示しているときはおかしくなくても、テキストエディタで確認すると正しく作成できていないことが確認できます。
また、右下では文字コードが表示されているので、自分が作成していないCSVデータをインポートするときなども、こちらで文字コードが確認できます。

データインポートウィザードのレコード追加手順
今回のインポートは、外部ID項目の「購入商品番号」と「顧客番号」の値はすでに登録されていることが前提で、購入履歴オブジェクトへの新規レコードの追加方法を説明いたします。
1.データインポートウィザードを起動し、インポートするオブジェクトを選択します。
起動方法は2つあります。
■設定画面から①[設定]のクイック検索で「データインポート」と入力し、「データインポートウィザード」をクリックします。

②開いたページの下の方にある[ウィザードを起動する]をクリックします。

③今回インポートするオブジェクトはカスタムオブジェクトの「購入履歴」のため、[カスタムオブジェクト]のタブをクリックし、インポートするオブジェクトを選択します。
■インポートするオブジェクトのリストビューから ①インポートするオブジェクトのリストビュー画面の[インポート]ボタンをクリックします。
インポートに必要な権限があるのに[インポート]ボタンが表示されていない場合は、オブジェクトマネージャの「リストビューボタンレイアウト」の標準ボタンにある「
インポート [Import]」のチェックが外れている可能性があります。

②インポートするオブジェクトを選択します。
※リストビューからデータインポートウィザードを起動すると、対象のオブジェクトのみが選択できます。

2. 「レコードをどのように処理しますか?」で[新規レコードを追加]をクリックします。

3.一致条件や使用する項目など、各種設定していきます。
以下の①②⑤は他のカスタムオブジェクトでも共通で設定する箇所です。
※今回のサンプルオブジェクトにはありませんが、レコードタイプがある場合は、レコードタイプを選択する項目もあります。
③と④は、今回サンプルオブジェクトの「購入履歴」のリレーション項目で、外部IDを使用する箇所です。
①一致条件:今回のサンプルでは「名前」を指定します。
Name項目などキーになる項目を設定すると、重複レコードの作成を防げます。
②ファイル内のどのユーザ項目を、レコード所有者の指定に利用しますか?:今回のサンプルでは指定なし。
③購入商品参照項目を設定するためにファイルのどの商品項目を照合しますか?:今回のサンプルでは「商品番号(外部ID)」を指定します。
④ファイル内のどの取引先項目を、主従関係の指定に利用しますか?:今回のサンプルでは「顧客番号(外部ID)」を指定します。
⑤ワークフロールールおよびプロセスを適用しますか?:実行する場合はチェックを入れます。今回のサンプルにはプロセスは設定していないのでオフのままです。

4.「データはどこにありますか?」でCSVファイルをアップロードします。
「アップロードする CSV ファイルをここにドラッグ」にドラッグするか、「CSV」をクリックし[ファイルを選択]からCSVファイルを指定します。
「
文字コード」はCSVファイルの文字コードに合わせて指定します。
今回のサンプルのCSVファイルは、
UTF-8で作成していますので「Unicode(UTF8)」を選択しています。
「
値の区切り」は
カンマのままで[次へ]をクリックします。

5. 右側の「例」で読み込まれたデータのプレビューを確認し、問題がなければ項目の対応付けをします。
※プレビューでデータが文字化けしていたり、列がずれている場合は[前へ]ボタンで戻って再設定します。
「Salesforceの項目の表示ラベル」と「CSVファイルの項目名」が一致しているものは、自動で対応付けされます。
サンプルでのCSVファイルには「購入商品名」と「購入者氏名」の列がありますが、今回インポートに使用する列は外部IDとなっている「購入商品番号」と「顧客番号」ですので、項目の対応付けはしません。
そのため、サンプルでは3列分を修正します。

対応付けされていない項目を対応付けする場合は、「編集」列にある「対応付け」をクリックし、対応付けするSalesforceの項目を選択し、[対応付け]ボタンをクリックします。

対応付けされている項目を編集する場合は、「編集」列にある「変更」をクリックして修正します。
今回のサンプルでは、「購入者氏名」は対応付けしませんので、選択されている項目を外し、[対応付け]ボタンをクリックします。

今回のサンプルデータではこのような項目の対応付けになります。
「購入商品名」と「購入者氏名」のような参考用の列は対応付けをしません。

6.[次へ]ボタンをクリックします。

7.インポート情報を確認し、[インポートを開始]をクリックします。

8.[OK]ボタンをクリックし、読み込みジョブの詳細を確認します。
「レコードの失敗」があった場合は、下部にあるバッチの[要求を表示]をクリックし、CSVファイルをダウンロードしてエラー内容を確認します。

実行ユーザ宛てに、インポート結果のメールが送信されますので、こちらのリンクからも読み込みジョブの詳細のページを開くことができます。

データインポートウィザードの手順は以上となります。
最後にSalesforceの画面を確認します。
インポートしたい値がちゃんと反映されているか確認します。

おわり
関連記事
・
データの一括更新 ②データインポートウィザードとは(会員限定記事)
・
インポートウィザードでも項目の値を空白で上書きできます・
インポートウィザードのバッチサイズは変更できません