【Salesforce】レコードデータの一括削除方法について

# 概要
Salesforceのレコードデータを一括で削除する方法を記載する

# 削除方法
- 標準機能の一括削除
- データローダ
- 開発者コンソール

## 標準機能の一括削除
標準オブジェクトの`取引先`・`リード`・`活動`・`取引先責任者`・`ケース`・`ソリューション`・`商品`・`レポート`に対応

### 注意点
- 一度に削除できるレコード数は最大250（[公式ドキュメント](https://help.salesforce.com/s/articleView?id=xcloud.admin_massdelete_notes.htm&type=5)）
- 他データに関連しているレコードを削除する場合は関連するレコードデータごと削除される

### レコードデータを削除する手順
1. 歯車マークをクリックし、クイック検索で`一括削除`と入力してクリックする
![スクリーンショット 2025-01-09 14.32.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/6fb852d2-72ad-8dd8-34c0-a63527e3d470.png)

1. 削除したいレコードのオブジェクトを選択する
![スクリーンショット 2025-01-14 15.24.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/9d3ba6b6-a758-204c-d312-b1ee0648d1b6.png)

1. レコードの項目ごとの抽出基準を設定し、検索をクリックする
![スクリーンショット 2025-01-15 11.51.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/9c1a1c07-fe54-dccf-f0d4-721a92e7c795.png)

1. 削除したいレコードのチェックボックスにチェックを入れて削除をクリックする
![スクリーンショット 2025-01-15 11.52.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/74f4ea7b-cfc2-ccdb-6296-bb3f8ee130d5.png)

## データローダ
標準オブジェクトやカスタムオブジェクトなど様々なオブジェクトに対応

### レコードデータを削除する手順
1. 削除したいオブジェクトのレコードデータが含まれる`レポート`を作成する
1. レポートの条件で、抽出設定を行う
※レポートには「SalesforceID」を必ず含める
![スクリーンショット 2025-01-15 11.55.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/7e6be4a7-bf87-fa5a-6596-45bfb786f4e7.png)
![スクリーンショット 2025-01-15 11.57.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/493ff6cf-6914-20f6-7341-297bd8389279.png)

1. レポート画面の「▼」マークからエクスポートをクリックして`CSVファイル`をエクスポートする
・エクスポートビュー：詳細のみ
・形式：カンマ区切り形式（.csv）
・文字コード(Windowsの場合)：日本語（Windows）
・文字コード(Macの場合)：Unicode(UTF-8)   
![スクリーンショット 2025-01-09 17.20.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/3e0d0857-a657-b37b-11e1-109fb953a251.png)
![スクリーンショット 2025-01-09 17.20.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/905050d9-7570-83f2-71bd-4c023e3f9987.png)

1. データローダを起動し、`Delete`をクリックする
![スクリーンショット 2025-01-10 1.46.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/7b4243fa-f3f7-38cb-ce6e-f1dd959a602a.png)

1. ログイン情報を入力して、削除する対象オブジェクトを選択し、エクスポートしたCSVファイルを選択する
![スクリーンショット 2025-01-14 15.18.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/c7b7e208-ad14-4736-0c73-08c9dc90082f.png)
![スクリーンショット 2025-01-14 15.01.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/c9f2e8ce-0718-a419-8759-d4c82e9cf232.png)

1. Salesforce IDのみをマッピングする
※id以外はマッピングできないため、idのみをマッピングする
![スクリーンショット 2025-01-14 15.09.34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/164ef6ff-17c6-5d87-cff1-2b0067edda5f.png)

1. データローダの動作後に結果を格納するフォルダを選択して、`Finish`をクリックし、最終確認も`はい`を選択する
![スクリーンショット 2025-01-14 15.10.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/c86e8615-2837-ecbd-6811-c31d3205c094.png)
![スクリーンショット 2025-01-14 15.13.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/18e024ed-746a-f1ac-997a-f4f6f23f3240.png)

1. その後、結果が表示されて、全件が`Success`となっていれば問題なく完了
![スクリーンショット 2025-01-15 12.00.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/0f2bf01d-2fd6-fa44-3926-31e5fac78d79.png)

## 開発者コンソール
標準オブジェクトやカスタムオブジェクトなど様々なオブジェクトに対応
※API参照名などを間違えると、削除するつもりのないレコードが削除される恐れのあるため、物凄く注意する必要がある。

### 注意点
- ガバナ制限50,000に抵触する可能性がある（[公式ドキュメント](https://developer.salesforce.com/docs/atlas.ja-jp.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_apexgov.htm)）
- 条件を指定しないと選択したオブジェクトの全てのレコードが削除される

### レコードデータを削除する手順
1. 歯車マークをクリックし、開発者コンソールをクリックする
![スクリーンショット 2025-01-14 11.45.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/4a9b2a88-1e33-fdb7-9aac-184c716006f4.png)

1. 開発者コンソール画面が表示されたら、`Debug`から、`Open Execute Anonymous Windouw`をクリックする
![スクリーンショット 2025-01-14 11.46.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/19debebf-889d-5e1d-164b-5cc52eaad4f4.png)

1. コードを入力し、`Execute`をクリックする
![スクリーンショット 2025-01-14 11.48.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/c01aaa9c-37d8-7fc4-770a-ceabff1d2c34.png)

1. Statusが`完了`になれば成功
![スクリーンショット 2025-01-14 11.54.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3766655/a7b6acc5-07c5-821b-9fb5-9c4b5e716a0c.png)


**削除コード**
```
delete [Select Id FROM 削除するオブジェクトのAPI参照名];
```
例）取引先オブジェクトの場合
```
delete [Select Id FROM Account];
```
例）カスタムオブジェクト(API参照名：Custom__c)の場合
```
delete [Select Id FROM Custom__c];
```
例）取引先オブジェクトで条件を指定した場合
※レコード名に「`レコード`」と含まれるレコードが削除される
```
delete [Select Id FROM Account WHERE Name LIKE '%レコード%'];
```