他システムからSalesforceへのデータ移行の手順

#データ移行の概要図

![データ移行０.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/c7a011ec-a9df-f71a-7553-76369dcd4d99.png)
<br>
#顧客要件と移行するデータの一例
####要件
既存Webシステムからデータを移行したい。
その際、事業所コードの先頭の2文字を削除して10文字に短縮したい。
また、事業分野の「土木」「工事」「建設」を「建設関係」に統合したい。
事業所・銀行・事業所代表者の3種にデータを分けて管理したい。
<br>
####既存Webシステムのデータ
|項目名|データ型|
|:---|:---|
|事業所コード|テキスト（12文字まで）|
|事業所名|テキスト（50文字まで）|
|事業所所在地|テキスト（100文字まで）|
|銀行コード|テキスト（6文字まで）|
|銀行名|テキスト（30文字まで）|
|事業分野|選択リスト*|
|事業所代表者名|テキスト（20文字まで）|
|代表者連絡先（TEL）|テキスト（16文字まで）|
|代表者連絡先（メール）|テキスト（50文字まで）|

*選択リストの中身は 「IT」「医療」「土木」「工事」「建設」
<br>
#移行手順
###1.既存Webシステムから、CSV形式でデータを出力する

![データ移行１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/4ada96a0-0e00-f5fb-440a-5e5a901ace20.png)
<br>
###2.出力したCSVファイルを、顧客要件に従って切り分ける

![データ移行２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/fe6e3b16-3c98-316a-cc1f-9caeaad0b53e.png)

![データ移行４.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/86111d38-3b9f-506e-5cdc-e9bdbad843d2.png)

![データ移行３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/06e2455a-a503-aafb-33bd-85bfe1e4f275.png)
<br>
###3.切り分けたCSVを、要件に従ってさらに整形する
・すべての事業所コードの先頭の2文字を削除する
・事業分野の「土木」「工事」「建設」を「建設関係」に置換する
・「銀行マスタ.csv」の重複行を削除する
（サクラエディタ・Excelなどの機能を利用すると楽）
<br>
###4.移行先のSalesforce組織で、要件に対応したカスタムオブジェクトと項目を作成する
#####「事業所」カスタムオブジェクト
|項目名|データ型|
|:---|:---|
|事業所コード|テキスト(10)|
|事業所名|テキスト(50)|
|事業所所在地|テキスト(100)|
|事業分野|選択リスト*|
|銀行名|参照関係(銀行マスタ)|
|事業所代表者名|参照関係(事業所代表者)|
*選択リストの中身は 「IT」「医療」「建設関係」	
#####「銀行マスタ」カスタムオブジェクト	
|項目名|データ型|
|:---|:---|
|銀行コード|テキスト(6)|
|銀行名|テキスト(30)|
#####「事業所代表者」カスタムオブジェクト	
|項目名|データ型|
|:---|:---|
|事業所代表者名|テキスト(20)|
|代表者連絡先（TEL）|テキスト(16)|
|代表者連絡先（メール）|テキスト(50)|
<br>
###5.データローダでデータをインポートする（Insert）
こちらの記事を参照
https://www.sunbridge.com/blog/tips/salesforce-how-to-use-dataloader/

正しくインポートされるとSalesforce組織上では以下のようになる。
![データ移行１２.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/b32f72a1-e8c8-b057-78c4-56bf0cd167d0.png)
<br>
###6.インポートしたデータをエクスポートする
Salesforceの組織に取り込まれたデータには、それぞれに固有のIDが自動で割り振られる。
参照関係の項目を完成させるために、一度インポートしてからエクスポートする必要がある。

1.「Export」をクリックする。
![データ移行あ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/bf718b85-d8a9-5b9c-f3f7-3ae7b973ab4e.png)
<br>
2.エクスポートしたいオブジェクトを選択し、保存先とファイル名を指定して「Next」をクリックする。
（保存先を指定しなくても「Next」を押せてしまうが、その場合は保存されないようなので必ず保存先を指定する）
![データ移行い.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/2259cd84-c206-71d3-6555-5e4b43cd2d49.png)
<br>
3.「Select all fields」をクリックし、「Finish」をクリックする。
（一部の項目のみエクスポートしたい場合は、チェックボックス・SOQLクエリを利用して指定する）
![データ移行う.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/74eedf3b-0727-791e-058a-6be625f7ffe4.png)
<br>
###7.エクスポートしたデータの参照関係項目を完成させる
「事業所」のCSVファイルの「銀行マスタ」の列に「銀行マスタ」のIDを、「事業所代表者名」の列に「事業所代表者」のIDをそれぞれを入れる。
（VLOOKUPなどを利用してデータの対応付けを行う必要がある）

![データ移行か.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/4ecb5127-4205-cdc8-32fa-95f18a50ed2d.png)

![データ移行お.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/6e6ab5c5-9df3-4626-a1a6-42d3282a665d.png)

各項目はAPI名で表示されるため要注意。
（FIELD999_\_Cは「事業所代表者名」項目、FIELD1000__Cは「銀行マスタ」項目のAPI名）
![データ移行え.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/58736b1d-1aa6-bc6f-119b-cc0a84f154d9.png)
<br>
VLOOKUPの一例。切り分け前の最初のCSVから銀行コードの列を抜き出し、これをキーにしてエクスポートした銀行マスタのIDと対応付ける。
![VLOOKUP.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/47b6f0db-db4d-35ce-995e-8d0856e44c35.png)
<br>
###8.「事業所」のCSVファイルを再度インポートする（Update）
（Insertと同様のため、手順は割愛）

参照関係が機能していることを、レコードの詳細ページで確認する。
![データ移行完.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2495009/0ed73704-ce0e-7a6b-09fc-ae77ef98cf2a.png)