0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

salesforceツール①

Posted at

データローダーとかSVFCloudの帳票系のツールとかを使用して使用感を感じて何も分かんないっていう事を防ぐ為の物を作成します。

作業のアウトプットの内容を記述しています。

📂データローダーについて

データローダーとは

  • 大量の情報をsalesforceに新規登録する
  • 条件を決めて条件に合うデータを全て出力する

といった時にデータローダーは使用する
レコードの挿入、更新、削除、出力をデータローダーで効率化可能となる。

作業のながれとしては
  元データ→データ整形→CSVに変換→データローダーでデータ操作
という流れになる

1,元データについて

データローダの元データは大抵は下記三つのどれか
顧客から送信されるorシステムからエクスポートor上司とか自分の手入力データ
(例:顧客から月一で更新内容をまとめたデータの送信、作成がある等)

元データもそのままではCSVに変換できない可能性があるので、内容を確認して編集が必要であれば修正してからCSV変換するようになる
大抵はExcelで送られるので、それを確認してCSV変換する形になる。

Excelでの元データ例
image.png

2,データ整形について

  • 入力内容に空欄がある場合は空欄のオブジェクトが必須項目ではないかの確認が必要
  • 今回は新規登録(Insert)なのでIDの入力が無いが、更新(Update),参照登録(Lookup)の場合はIDの入力が必要になる。新規登録の場合はIDは自動発行されるので問題無し。
  • 更新(Update)時に空白セルがあると空白としては更新されない。

参照登録(Lookup)について
例えば、Client_Company__c が「取引先(Account)」への参照項目になっているとなっている場合は、取引先のIDをClient_Company__cの値として入力する必要がある。
データローダーでは参照項目(Lookup型)を更新するには、通常「ID(18桁または15桁)」をCSVに記載します。
下記のような記述でCSVを作り、値を更新する
image.png

項目 内容
Id SalesforceのレコードID(この値で対象レコードを特定)
Status__c 更新したい項目。ここではステータスを変更
Assignment_End__c 空白なら変更されません ※空白で上書きしたい場合

IDの確認方法
更新対象レコードのID(15桁または18桁)は以下で取得できます
Salesforceの画面で対象レコードを開き、URLから取得
例:https://xxx.salesforce.com/a0B5g00000ABC1234 → a0B5g00000ABC1234

もしくは、レポート or DataLoaderのExport機能で一括取得※レポートが手軽でオススメ
・レポートで取得する場合、レポートを新規作成して取引先名と取引先IDのみを項目として表示するよう設定してレポートを作成します。作成したレポートをエクスポートでデータとして取得できる。
・データローダーではexportを選択して、出力したいオブジェクト選択画面で今回は取引先を選択する。この後の英語表記が出てきて分かりづらいので、それぞれ和訳+入力内容を整理します。

1. choose the query fields below

  • 和訳:下の一覧からクエリで取得する項目を選択してください
  • 意味:どのフィールド(項目)をCSVに出力するかを指定する部分
  • 入力:チェックボックスで出力したい項目(例:Id, Name, Phone など)を選択

2. Create the where clauses to your query below

  • 和訳:クエリに条件(WHERE句)を追加してください

  • 意味:抽出対象を絞り込む条件を作成する部分

  • 入力例:

    • 項目:Name
    • 操作:equals
    • 値:株式会社ABC
      → 結果的に「取引先名が株式会社ABCのレコードだけ取得」になる
      下記内容のように手入力してもOK
      SELECT Id, Name FROM Assignment__c WHERE Name = '田中太郎'
      

3. operation: equals

  • 和訳:演算子:equals(=に等しい)

  • 意味:条件式を作る際の比較方法

  • 主な演算子の意味:

    • equals → ○○に等しい
    • not equal → ○○でない
    • less than → ○○より小さい
    • greater than → ○○より大きい
    • like → 部分一致検索(例:%ABC%

4. The generated query will appear below. You may edit it before finishing

  • 和訳:生成されたクエリが下に表示されます。終了する前に編集することもできます。
  • 意味:選んだ項目や条件から自動生成された SOQL文 が下に表示され、必要に応じて手動で修正できる
  • 入力:通常はそのままでOK。SOQLを知っている人は直接修正可能

実際の操作イメージ

例えば、取引先(Account)のIDとNameを取り出したい場合:株式会社ABC の取引先だけ取得

  1. 「choose the query fields below」
    IdName にチェックを入れる

  2. 「Create the where clauses to your query below」
    Name equals 株式会社ABC と入力

  3. 下に生成されるクエリはこうなる:

    SELECT Id, Name FROM Account WHERE Name = '株式会社ABC'
    

「すべての取引先の Id と Name を取得したい」 場合

  1. 「choose the query fields below」
    IdName にチェックを入れる

  2. 「Create the where clauses to your query below」
    → 何も入力しない(条件を追加しない) ← これが「条件なし」

  3. 下に生成されるクエリはこうなる:

    SELECT Id, Name FROM Account
    

👉 まとめ

  • choose the query fields below → 取り出したい列をチェック
  • Create the where clauses to your query below → 抽出条件を設定
  • operation: equals → 条件の比較方法を指定
  • The generated query will appear below... → 自動生成されたSOQLを確認・編集
    基本的にデータローダーではIDの取得が毎回必要になるので、データローダーでの作業ではこのID取得作業は毎回行うようになる。エクスポートはどちらの方法でも問題無い。

 

✅参照型かどうかの確認方法

Salesforceで確認する手順(Classic / Lightning共通)

  • 「設定」>「オブジェクトマネージャ」へ移動
  • 対象オブジェクト(例:「人材派遣」)を選択
  • 「項目とリレーション」から Client_Company__c を探す
  • 項目の「データ型」が 参照(取引先) または Lookup になっていれば、参照型です

✅必須項目かどうかの確認方法

①システム的に必須かどうか確認:オブジェクトマネージャから確認
1,設定 → オブジェクトマネージャ → 該当オブジェクトを選択
2,「項目とリレーション」を開く
3,該当項目(例:Assignment_End__c)を選ぶ
4,「必須」のチェックが入っているかどうかを確認

②UI的に必須かどうか確認:ページレイアウトでの必須設定も確認
1,レイアウト単位で「必須にする」設定も可能
2,画面上で赤い *(アスタリスク)が付いている項目は「レイアウト上の必須項目」

👉基本的にデータローダーを使用する事において、必須項目かどうか確認する
なら①システム的に必須かどうかの確認のみで問題無し。

 
 
②UI的に必須かどうか確認はケースバイケースで「確認しておいた方がいい場面もある」

  • ユーザーの画面操作を設計する時:UI上で入力させるかを考えるため
  • バグや問い合わせ対応:「画面では必須なのに登録されてない!」などの理由把握
  • テストデータを作るとき:ユーザーが実際に入力する想定で整える必要があるから

📌データ整形での注意点

更新の際に空白を明示的に上書きしたい場合の対処方法
DataLoaderの設定で以下の手順を行います。
これで、空欄のセルが「空に上書きされる」ようになります。

1,DataLoaderを起動
2,設定(Settings) を開く
3,「null 値を挿入する(Insert Null Values)」にチェックを入れる

3,CSVに変換

この内容の記述をCSVに変換する
image.png
エクスポートでCSVに変換できる
image.png

CSVで出力した結果が下記の内容となる
image.png


実務で一番よく使う
「参照IDの一括取得 → ExcelでVLOOKUPで結合 → DataLoader用CSV完成」
という流れを手順を下記にまとめています。

🔹 参照IDの一括取得とVLOOKUPでの紐づけ手順

① 参照元のIDを取得する

今回で言うと「取引先ID」。

  1. Salesforce の [レポート] タブを開く
  2. 「新規レポート」→ レポートタイプで 取引先 を選択
  3. 項目に 取引先名(Name)取引先ID(Record ID) を追加
  4. レポートを実行して、CSV形式でエクスポート
    👉 これで「取引先名」と「取引先ID」の対応表CSVが手に入る

② Excelで2つのデータを準備

  • インポート用CSV(例:人材派遣__cのデータ、取引先は会社名しか入っていない状態)
  • 取引先ID対応表CSV(先ほどエクスポートしたもの)

③ ExcelでVLOOKUPを使って紐づけ

  1. 両方のCSVをExcelで開く

  2. インポートCSVの「Client_Company__c」列の右隣に「取引先ID」列を追加

  3. 取引先ID列に以下のようなVLOOKUPを入力

    =VLOOKUP(B2, 参照表!$B$2:$D$1000, 2, FALSE)
    
    • B2 = インポートCSVの「取引先会社名」セル
    • 参照表!$B$2:$D$1000 = 取引先名と取引先IDの対応表範囲
    • 2 = 範囲の中で「2列目(取引先ID)」を返す
    • FALSE = 完全一致で検索

👉 これで、インポートCSVに自動的に「取引先ID」が埋まる


④ Data Loader用に整形

  • VLOOKUPで取得した取引先IDをコピーして「値貼り付け」にする(数式のままだとNG)
  • もともとの「会社名」列は削除 or 保管し、参照IDの列を残す
  • 最終的に Data Loader には、こういうCSVが入るイメージ
Name,Client_Company__c,Project_Name__c,Assignment_Start__c,Assignment_End__c,Status__c
田中太郎,0015j00000ABCdE,基幹システム運用,2025/09/01,2026/03/31,稼働中
鈴木花子,0015j00000XYZfG,営業支援業務,2025/08/15,2025/12/31,稼働中
...

 


 

4,データローダーでデータ操作 の事前確認

Salesforce にデータを取り込む(=Insert) 作業での前提というか、確認項目があり、それを確認してから取り込み作業に入ります。

 
🔹確認項目🔹

  • 作成したCSVファイルの中で使われているオブジェクトと項目があるか確認
  • DataLoaderの準備(インストールの確認)
  • 取込時の注意点とエラーの防止策

🔹作成したCSVファイルの中で使われているオブジェクトと項目があるか確認

今回の項目内容

使用されている項目名 意味 データ型候補
Name 人材名 テキスト
Client_Company__c 派遣先会社 参照項目(取引先)
Project_Name__c 案件名 テキスト(または参照)
Assignment_Start__c 派遣開始日 日付
Assignment_End__c 派遣終了日(空白OK) 日付
Status__c 稼働状況(稼働中・終了など) 選択リスト(Picklist)

🔹DataLoaderの準備(インストールの確認)

未インストールならダウンロードページにアクセスしてインストール(Windows向け)
🔗 Salesforce Data Loader ダウンロードページ
https://developer.salesforce.com/tools/data-loader
上記ページを開きます

Salesforceの開発者アカウントでログイン。(通常のユーザーでもOK)
「Data Loader for Windows」を選んでクリック。
.zip ファイルがダウンロードされますので右クリック → 「すべて展開」で解凍できます。
解凍後のフォルダ内にある install.bat または DataLoader-setup.exe をダブルクリックしてインストールを行う。
起動して「Insert」など任意の操作を選択。(ログイン画面が出ます)
・ユーザー名(SalesforceログインID)
・パスワード + セキュリティトークン(※セキュリティトークンは後述)
・環境(Sandbox(開発環境)かProduction(本番環境))
 

🔒Salesforceからデータローダーでログインする場合、
通常のパスワードの後ろに「セキュリティトークン」をつなげて入力します。
これは必要ない場合もあります。
▶ 入手手順:Salesforceにログイン
       右上の自分のアイコン → 「設定」
       左のメニューから「セキュリティトークンのリセット」
       登録メールアドレスに届きます

例:パスワード:Pass1234
  トークン:abcdEFGH5678
   → ログイン時は Pass1234abcdEFGH5678 と入力

🔹取込時の注意点とエラーの防止策

⚠️データロード時によくあるミスと注意点

注意点 説明
❌ 参照項目に「名前」を入れている 正しくは ID(18桁)を入れる必要がある(例:取引先IDなど)
❌ 日付の形式ミス 2025/10/012025-10-01 で統一する。環境により `Mにしたいです

4,データローダーでデータ操作

基本的にIDを使用するので、ID取得はレポートからのエクスポートかデータローダーでのエクスポートかの二択になると思われる。

新規登録手順

  1. CSVでデータを準備(必要項目を揃える)
  2. 参照項目はIDで指定する(例:取引先ID)
  3. 対象オブジェクトを選択してInsert
  4. 成功・失敗ログを確認
  5. (必要に応じて)バックアップや元データの保管も忘れずに

注意事項:
・関連レコード(親子関係など)の順序にも注意
・選択リスト値、必須項目、入力制限に注意


既存レコードの更新手順:

  1. Exportで対象レコードのIDと更新したい項目を取得
  2. CSVで更新後の値をセット
  3. Update操作を選択してIDをキーに更新
  4. 成功・失敗ログをチェック
  5. 更新前CSVをバックアップとして保管

注意事項:
・IDが必須
・選択リストや依存関係に注意
・誤って全データを同じ値で上書きしないよう注意!


Upsert(更新 or 登録)手順

  • すでに存在するデータは更新、なければ新規作成
  • 外部システムからのデータ連携時によく使う
  1. CSVでキー(Id or 外部ID)と項目を準備
  2. Upsertを選択し、キー項目を指定
  3. 実行して新規+更新を同時に処理
  4. 成功・失敗ログで内容確認

注意事項:
・外部IDを使う場合は、オブジェクトで「外部ID項目」が設定されている必要あり
・実行前にどのくらいがInsertかUpdateかを把握しておくと安心


削除手順

  1. ExportでIDを必ず含める(Id項目は削除に必須)
  2. 条件付きで対象を抽出(SOQLまたはレポート)ここがキモ!
  3. 一括でCSV作成(手動コピペを避ける)
  4. 削除前にバックアップ(万が一に備える)
  5. エラーログで削除失敗の原因をチェック(参照制約など)

データ量が多い場合は一度少量でテスト削除
削除ログ(success / error ファイル)を保存
余計な列があっても問題ない。実際、Delete操作に必要なのは Id のみ


Hard Delete(ゴミ箱を経由せず即削除)

※デフォルトでは利用不可。データローダの設定を変更する必要あり。

  • Sandboxで大量データを完全削除したいとき
  • ゴミ箱容量の問題回避

現場でのデータローダ利用パターンまとめ

操作 主な用途 キー項目 備考
Insert 新規データ作成 不要(ただし参照項目にID必要)
Update 既存データの更新 SalesforceのID バックアップ重要
Upsert 更新または作成 IDまたは外部ID 外部連携で多用
Delete レコードの削除 ID 事前抽出&確認必須
Hard Delete 完全削除 ID ゴミ箱スキップ(注意)

📁 現場で役立つサブ作業(データ準備・品質管理)

  • データ検証:エクセルでVLOOKUPやCOUNTIFを使って事前チェック
  • 📤 バッチに分割:大量データは分割(例:5000件単位)して実行
  • 🔄 依存関係の順序制御:親 → 子 の順でInsert / 子 → 親 の順でDelete
  • 🧪 Sandbox環境で事前テスト:本番前に必ず!

補足

インポートウィザードとの違い(データローダーとの比較)

比較項目 データローダー インポートウィザード
✅ レコード件数 最大 500万件まで対応 最大 50,000件程度
✅ 参照関係の登録(ID指定) 可能(ID指定でLookup項目に対応) 不可(基本「名前」マッチだけ)
✅ 更新(Update) 対応(ID指定で) 一部制限あり(取引先・リードのみ)
✅ Null上書き(空欄で消す) オプションあり(チェック要) 不可
✅ 開発寄りのツール ◯(エンジニア向け) ×(非エンジニア向け)
  • 簡単な登録(リードや取引先など) → インポートウィザード
  • がっつり本番運用・複雑データ → Data Loader

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?