背景と適用シナリオ
こんにちは、Salesforce システム管理者です。日々の運用業務の中で、データのインポートは避けて通れない重要なタスクの一つです。例えば、マーケティング部門が展示会で獲得したリードリストの取り込み、営業部門が管理していた既存顧客リストの移行、あるいは外部システムから提供された商品マスタの登録など、様々な場面でデータの投入や更新が必要になります。
Salesforce には、Data Loader (データローダ) のような高機能なツールも存在しますが、インストールが必要であったり、操作がやや複雑であったりするため、全てのユーザーにとって最適とは言えません。特に、50,000件未満の比較的小規模なデータセットを、手軽かつ迅速にインポートしたい場合には、よりシンプルなツールが求められます。
ここで登場するのが、Data Import Wizard (データインポートウィザード) です。これは、Salesforce の標準機能として提供されている、ブラウザ上で完結するウィザード形式のデータインポートツールです。特別なソフトウェアをインストールする必要がなく、直感的なインターフェースに従って操作するだけで、データのインポートが可能です。
具体的な適用シナリオとしては、以下のようなケースが挙げられます。
小規模な新規データの一括登録
例えば、セミナー参加者リスト(リード)、新規取引先と担当者のリスト、キャンペーンメンバーの追加など、数百から数千件程度の新規レコードを一括で作成する場合に非常に便利です。
既存データの部分的な更新
特定の条件に合致する取引先レコードの「業種」を一括で更新したり、既存のリードの「評価」を変更したりするなど、データのクレンジングや情報付加を目的とした更新作業にも適しています。
カスタムオブジェクトへのデータ投入
Salesforce の標準オブジェクト(取引先、取引先責任者、リードなど)だけでなく、自社で独自に作成したCustom Object (カスタムオブジェクト) へのデータインポートもサポートしています。これにより、プロジェクト管理用のカスタムオブジェクトや、資産管理用のカスタムオブジェクトなど、様々な業務データを簡単に取り込むことができます。
この記事では、私たちシステム管理者が Data Import Wizard を最大限に活用するための原理、具体的な手順、そして陥りがちな注意点やベストプラクティスについて、詳しく解説していきます。
原理の説明
Data Import Wizard は、その名の通り、ユーザーをステップ・バイ・ステップでガイドする「ウィザード形式」を採用しています。これにより、ユーザーは迷うことなく、CSV ファイルの準備から Salesforce へのインポートまでの一連のプロセスを完了できます。
基本的な処理フローは以下の通りです。
1. オブジェクトの選択: 最初に、データをインポートしたいオブジェクトを選択します。リード、取引先、取引先責任者といった標準オブジェクトや、作成済みのカスタムオブジェクトがリストアップされます。
2. インポート処理の指定: 次に、実行したい処理を選択します。「新規レコードの追加」、「既存のレコードの更新」、または「新規レコードの追加と既存のレコードの更新」の3つのオプションから選びます。この「新規追加と更新」は非常に強力で、ファイル内のデータが Salesforce に既に存在するかどうかをキー項目(メールアドレスや外部IDなど)で判断し、存在しない場合は新規作成、存在する場合は更新を自動的に行ってくれます。
3. CSV ファイルのアップロード: インポートするデータが含まれた CSV (Comma-Separated Values) ファイルをアップロードします。文字コードや区切り文字もこの画面で指定できます。
4. 項目マッピング: アップロードした CSV ファイルの列ヘッダーと、Salesforce オブジェクトの項目 (Field) を対応付けます。ウィザードは、列ヘッダー名と項目名が似ているものを自動的にマッピングしようと試みますが、最終的な確認と修正は手動で行います。このマッピングが、データがどの項目にインポートされるかを決定する重要なステップです。
5. インポートの開始と確認: 全ての設定が完了したら、インポート処理を開始します。処理はバックグラウンドで実行され、完了するとメールで通知が届きます。メールには、成功した件数と失敗した件数、そして失敗したレコードとその理由が記載された結果ファイルが添付されます。
このツールの大きな特徴は、重複管理機能が組み込まれている点です。例えば、リードをインポートする際にメールアドレスで照合し、既存のリードと重複している場合はインポートをスキップする、といった設定が可能です。これにより、データの重複を防ぎ、クリーンな状態を保つことができます。
サンプルコード
Data Import Wizard は、Salesforce の設定画面から利用する宣言的 (Declarative) なツールであり、Apex (エイペックス) コードや API を直接記述して使用するものではありません。ユーザーは画面上の指示に従ってクリック操作と設定を行うだけで、データインポートを実行できます。
そのため、このトピックに関連する特定のサンプルコードは存在しません。プログラミングの知識がなくても安全かつ簡単に利用できる点が、このツールの最大のメリットです。
注意事項
Data Import Wizard は非常に便利ですが、その手軽さゆえに注意すべき点もいくつか存在します。安全かつ正確にデータをインポートするために、以下の項目を必ず確認してください。
権限 (Permissions)
ウィザードを使用するには、適切な権限が必要です。まず、ユーザープロファイルに「すべてのデータの編集」権限があれば、ほとんどのオブジェクトにインポートできます。しかし、より制限された権限をユーザーに付与したい場合は、オブジェクトごとのインポート権限(例:「リードのインポート」、「カスタムオブジェクトのインポート」)を権限セットなどで割り当てる必要があります。インポート操作を行う前に、対象オブジェクトに対する作成・編集権限と、インポート機能自体の利用権限がユーザーに付与されていることを確認してください。
API 制限とレコード制限
最も重要な制限は、一度のインポートジョブで処理できるレコード数が最大50,000件であるという点です。これを超える大規模なデータセットを扱う場合は、Data Loader や Bulk API を使用する必要があります。
一方で、Data Import Wizard は組織の API (Application Programming Interface) コール数を消費しないというメリットがあります。API コール数の制限が厳しい組織にとっては、この点は大きな利点となります。
データ準備
インポートの成否は、準備する CSV ファイルの品質に大きく左右されます。
- ファイル形式: 必ず CSV 形式で保存してください。文字コードは、日本語を含む場合は UTF-8 を推奨します。
- 必須項目: Salesforce のオブジェクトで必須 (Required) となっている項目は、CSV ファイル内でも必ず値が入力されている必要があります。空欄のままインポートしようとするとエラーになります。
- データ型の一致: 日付項目には日付形式のデータ(例:YYYY/MM/DD)、数値項目には数値のみを入力するなど、Salesforce 側のデータ型と一致させる必要があります。
- 選択リスト (Picklist): 選択リスト項目の値は、Salesforce で定義されている値と完全に一致している必要があります。余計なスペースやタイプミスがないか確認してください。
- 参照関係 (Lookup Relationship): 他のレコードを参照する項目(例:取引先責任者の「取引先名」項目)をインポートする場合、CSV には参照先レコードの「レコードID」または「外部ID」を記載するのが最も確実です。名前でマッチングすることも可能ですが、同名のレコードが存在する場合に失敗する可能性があります。
- チェックボックス (Checkbox): チェックボックス項目には、`TRUE` または `1` を入力するとオン、`FALSE` または `0` を入力するとオフとしてインポートされます。
エラー処理 (Error Handling)
インポートが完了すると、Salesforce から結果通知メールが届きます。もし失敗したレコードがあった場合、メールには成功ファイルとエラーファイルの2つが添付されます。
エラーファイルは非常に重要です。この CSV ファイルには、元々のデータに加えて「Error」という列が追加されており、各行がなぜ失敗したのかという理由(例:「必須項目がありません」、「無効な選択リストの値です」など)が記載されています。
エラーを修正する際は、このエラーファイルを直接編集し、原因を修正した上で、再度このファイルを Data Import Wizard にアップロードするのが最も効率的な方法です。
トリガーと自動化ルール
Data Import Wizard を使用してレコードを作成・更新すると、デフォルトで関連するトリガー (Apex Triggers)、ワークフロールール (Workflow Rules)、プロセスビルダー (Process Builder)、フロー (Flow) などの自動化プロセスが起動します。
これは意図した動作である場合が多いですが、大量のデータをインポートする際に意図しないメール通知が大量に送信されたり、パフォーマンスに影響が出たりする可能性があります。ウィザードの最終ステップ近くには、これらの自動化プロセスを起動するかどうかを選択するチェックボックスがあります。インポートの目的をよく考え、必要に応じてこのチェックボックスをオフにすることを検討してください。
まとめとベストプラクティス
Data Import Wizard は、Salesforce システム管理者が日常的に利用するべき、強力かつ手軽なツールです。特に50,000件未満のデータロードにおいては、Data Loader よりも迅速かつ直感的に作業を完了させることができます。
ここで、ツール選定の基準を再確認しておきましょう。
- Data Import Wizard を使うべき時:
- 処理するレコードが50,000件未満の場合。
- ソフトウェアのインストールが不要な手軽さを求める場合。
- 重複防止機能(名前、メールアドレスなどでのマッチング)を手軽に使いたい場合。
- 対応している標準オブジェクトまたはカスタムオブジェクトへのインポートの場合。
- Data Loader を使うべき時:
- 処理するレコードが50,000件を超える、または数百万件に及ぶ大規模な場合。
- Data Import Wizard がサポートしていないオブジェクト(例:商談商品)にインポートする必要がある場合。
- 定期的なインポート/エクスポート処理をコマンドラインで自動化したい場合。
- レコードの物理削除 (Hard Delete) が必要な場合。
最後に、Data Import Wizard を使用する上でのベストプラクティスをいくつかご紹介します。
1. 必ずテストを行う:
本番の大量データをインポートする前に、必ず5〜10件程度の小さなテストファイルを作成し、意図した通りにデータがインポートされるかを確認してください。これにより、マッピングミスやデータ形式のエラーを早期に発見できます。
2. データを事前にクレンジングする:
「Garbage In, Garbage Out (ゴミを入れれば、ゴミしか出てこない)」という言葉の通り、インポートするデータの品質が Salesforce 内のデータの品質を決定します。CSV ファイルの段階で、表記ゆれを統一し、不要なスペースを削除し、必須項目が埋まっていることを確認しましょう。
3. 更新前にはデータをバックアップする:
特に既存レコードを大量に更新する前には、必ず Salesforce の「データのエクスポート」機能を使って対象オブジェクトのデータをバックアップしておくことを強く推奨します。万が一、意図しない更新を行ってしまった場合に、元の状態に戻すことができます。
4. 外部ID (External ID) を活用する:
外部システムとの連携や、定期的なデータ更新を行う場合は、対象オブジェクトに「外部ID」属性を持つカスタム項目を作成し、ユニークなキーとして活用しましょう。レコードIDよりも安定したキーでレコードを特定できるため、更新処理の信頼性が格段に向上します。
5. 結果を注意深く確認する:
インポートが完了したら、メールで送られてくる結果ファイルを必ず確認し、エラーが発生していないかをチェックする習慣をつけましょう。エラーがある場合は、その原因を特定し、修正して再インポートすることで、データの欠落を防ぎます。
これらのプラクティスを遵守することで、Data Import Wizard は私たちシステム管理者の強力な味方となり、Salesforce のデータ品質を高く保つ上で不可欠なツールとなります。
コメント
コメントを投稿