menu
%}

Salesforce  外部 IDを使ってみよう!

 2022.08.30 Circlace

こんにちは!新人アドミニストレーターのSです。
Salesforceではたくさんの便利な機能がありますが、皆さんはどのような機能が便利だと思いますか?
今回は私が勉強をしていたときに便利だと思った機能をご紹介させていただきます!

みなさん外部 IDをご存じでしょうか?
Salesforce IDの代わりにレコード識別子として使用することができ、
「別のシステムで使用しているデータのIDをそのままSalesforceでも使いたい…」
「データローダでレコードを紐づけるときに、Salesforce IDを事前に確認するのが面倒!」
というようなときに、とても便利です。
今回は外部 ID項目の作成方法と、データローダで外部 IDを使用しながら『取引先』と『取引先責任者』(取引先の担当者)の登録を行う方法をご紹介します。

外部IDとは?

外部システムで利用しているID(またはそれに代わるような一意の値が登録されているデータ項目)をそのままSalesforceで使用でき、データ移行や一括登録・更新をする際、Salesforce IDの代わりにレコードの一意の識別子として使用したりすることができます。親オブジェクトと子オブジェクトとの紐づけ(参照/主従関係)を構築した場合、子レコードから親レコードの参照先の指定にも利用できます。
名前のとおり、Salesforce外で管理していたデータをSalesforceに移行する際に、大活躍します。

外部ID01


Salesforce IDと外部 IDの違いは?

Salesforce IDは、レコードが作成された時に自動で生成される、レコードを識別するための一意の識別子です。自動で設定されるため、自分の好きな文字列は設定できません。

対して、外部 IDはレコードの一意の識別子として自分たちで任意の文字列を設定することができます。外部 IDを使用したい場合は、対象のオブジェクトに外部 IDの値を登録するための外部 ID項目の作成が必要になります。また、データローダでは「Upsert」の操作でのみ、外部 IDが使用できます。

外部ID項目の作成方法

では早速、実際に取引先オブジェクトに外部ID項目を作成していきたいと思います。

1. [ギアアイコン(歯車)]>[ 設定 ] >[ オブジェクトマネージャー ]>『取引先』オブジェクトを開きます。

外部ID02

2. [ 項目とリレーション ] > 「新規」をクリックします。

外部ID03


3.「ステップ 1. データ型の選択」でデータ型(今回はテキスト型)を選択し、「次へ」をクリックします。
なお、外部IDを設定できるデータ型はメール・テキスト・数値・自動採番 の 4種類のみです。
※自動採番型の項目はデータローダでは使用できません。詳しくはSalesforceのヘルプページをご参照下さい。
 ◇ SALESFORCE >ヘルプ >データローダで外部 ID として自動採番が利用できません

外部ID04


4.「ステップ2.詳細を入力」画面で外部ID用の設定を行います。
①「項目の表示ラベル」「文字数」「項目名」を入力します。
「外部 ID」と「ユニーク」にチェックをいれます。
入力が終わったら「次へ」をクリックします。
※その他の設定項目は、必要に応じて設定してください。


外部ID05


5.「ステップ 3. 項目レベルセキュリティの設定」にて項目の権限を設定し、「次へ」をクリックします。


外部ID06

6.「ステップ 4. ページレイアウトへの追加」で項目を配置するページレイアウトを選択し、「保存」をクリックします。



外部ID07

 

配置したページレイアウトで、作成した項目を確認します。


外部ID08


きちんと項目が作成されていました!これで外部 ID項目作成は完了です♪

 

外部IDを含めレコードを新規登録

外部 ID項目の作成ができたので、今度は外部 IDを含む新規の『取引先』の情報を、データローダを使用して登録してみましょう!

1. データローダで Salesforce組織に『取引先』のデータを取り込むための CSVファイルを作成します。
『取引先』の情報をCSVファイルにまとめ、外部 IDの列を追加します。項目名には先ほど作成した外部ID項目のAPI参照名(画像の例では「AccountCode__c」)を入力します。

外部ID10


2. データローダを立ち上げ、CSVファイルの選択まで進みます。
今回は「Insert」で新規の「取引先」レコードを登録します。
大まかな手順をご説明しますので、「Insert」の手順詳細については、こちらの記事をご参照ください。
 Circlace>ブログ>『Salesforce運用の必須アプリ データローダのすゝめ』

①データローダを立ち上げ、「Insert」をクリックします。
②データを登録するSalesforce組織にログインします。
③「Step 2:Select data objects」の「Select Salesforce object」では『取引先』を選択し、「Choose CSV file:」では先ほど作成したCSVファイルを選択して、「Next」をクリックします。
④登録したいレコードの件数を確認して「OK」をクリックします。

外部ID21


3. 項目をマッピングします。
①「Create or Edit a Map」をクリックします。
②「Auto-Match Fields to Columns」をクリックします。作成した外部 ID項目(Accountcode_testID__c)を含む、すべての項目が適切にマッピングされたことを確認して、「OK」をクリックします。マッピングが正しく行われていない場合は、ここで項目をドラッグして修正します。
③マッピング内容を確認し、「Next」をクリックします。

外部ID22



4.ログファイルの保存先を指定し、「Insert」を実行します。
①ログファイルレポートの保存先を指定して、「Finish」をクリックします。
②「Warning」のポップアップが表示されるので、「はい」をクリックします。
③処理の進行度を示すポップアップに続いて「Operation Finished」のポップアップが表示されるので、「OK」をクリックします。

外部ID27

取引先を見てみると、きちんと外部ID項目の値も登録されています♪

外部ID16

 

外部IDを使用して親レコードと紐づける

先ほど登録した『取引先』の外部ID項目「顧客コード」を使用して、データローダで『取引先』と紐づけながら『取引先責任者』を登録します。


1. データローダで「取引先責任者」のデータを取り込むためのCSVファイルを作成します。
「取引先責任者」の情報をCSVファイルにまとめ、先ほども使用した取引先の外部ID項目「顧客コード」の列を追加します。項目名には外部 ID項目の API参照名を入力します。

外部ID17

便利ポイント!

通常は先に登録した『取引先』レコードのSalesforce IDをエクスポートし、『取引先責任者』のCSVファイルに追加が必要でしたが、外部 IDを使用することで『取引先』のSalesforce IDをエクスポートする作業が不要になります。


2.データローダを立ち上げ、CSVファイルの選択まで進みます。
①データローダを立ち上げ、「Upsert」をクリックします。「Upsert」では、既存レコードの更新とレコードの新規作成を同時に行います。
※再ログインを求められたら、ログインを行ってください。
②「Step 2:Select Salesforce data object」では 『取引先責任者』を選択し、「Choose CSV file:」では作成した『取引先責任者』用の CSVファイルを選択して、「Next」をクリックします。
③登録したいレコードの件数を確認して「OK」をクリックします。

外部ID20


3.既存レコードとのマッチング(どの項目の値の一致を確認し、同一のレコードとするかを判断する)に使用する項目を選択します。
①「Step 2a:Choose your field to use for matching」では「Id」を選択し、 「Next」をクリックします。
※今回は『取引先責任者』のレコードを新規作成するのでこちらの設定は影響しないと想定されますが、既存のレコードを更新したい場合は、既存のレコードの Salesforce IDをCSVに用意する必要があります。
②「Step 2b Choose your related objects」では、「Account」(『取引先』)に作成した外部ID項目のAPI参照名(画像の例では「AccountCode__c」)を選択します。

外部ID23


4.その他の項目をマッピングします。
①「Create or Edit a Map」をクリックします。
②「Auto-Match Fields to Columns」をクリックします。
③上部の「Match the Salesforce fields to your columns」に外部 ID項目が「オブジェクト名:項目名」(画面の例では「Account:AccountCode__c」)のように表示されるので、下部の「Drag the Salesforce fields down to the column mapping...... 」の外部 ID項目(画像の例では「AccountCode__c」)のところへドラッグし、「OK」をクリックします。
④マッピング内容を確認し、「Next」をクリックします。

外部ID25


5.ログファイルの保存先を指定し、「Upsert」を実行します。
①ログファイルレポートの保存先を指定して、「Finish」をクリックします。
②「Warning」のポップアップが表示されるので、「はい」をクリックします。
③処理の進行度を示すポップアップに続いて、「Operation Finished」のポップアップが表示されるので、「OK」をクリックします。

外部ID26


登録した『取引先責任者』レコードを確認してみると、外部ID「顧客コード」を介して各レコードが適切な『取引先』レコードに紐づいています。

外部ID19



いかがでしたでしょうか?
外部IDはこのようにレコードを識別するIDとして使用でき、とても便利な機能です♪
今回は、簡単に外部ID項目の作成方法とデータローダでの活用方法をご紹介しました。今後もSalesforceの便利な機能やアドミニストレータの活躍についてブログでご紹介させていただきますので、また是非サークレイスブログに遊びに来てください(*^^*)