Dynamics CRM 4.0 に標準のインポート機能では、データの新規作成のみを行うことができ、既存のレコードを更新することはできません。ちなみにこの機能を知ることになった元ねたのブログを下に紹介しておきます。

How to use the Data Enrichment (re-import) feature in Microsoft Dynamics CRM 4.0
http://weblogs.asp.net/vardi/archive/2009/06/17/how-to-use-the-data-enrichment-re-import-feature-in-microsoft-dynamics-crm-4-0.aspx

今回はインポートウィザードで既存レコードの更新を行う方法を紹介します。なお、更新を行う場合、更新のみが行え、インポートデータに該当すればデータを更新、存在しなければ作成ということができません。また、この機能は非サポートであることに注意してください。

動作の検証は オールインワン環境の Dynamics CRM 4.0 Update Rollup 8 が適用された環境で行っています。

参考にさせてもらったブログでは、Dynamic Worksheet を使用して更新データを取得してデータを準備する方法が紹介されています。本記事では、 Data Export Tool を使用して取引先企業エンティティレコードを抽出することでデータを準備してみます。

1.Data Export Tool でデータを取得する

Data Export Tool で取引先企業を取得します。ツールの使い方は[Dynamics CRM] MSCRM 4.0 Bulk Data Export Tool を使えるようにする を参照。

2.抽出したレコードを編集

Excel など、 CSV を編集できるツールで、Export Tool で作成したファイルを開きます。Excel を使用する場合は文字の先頭が0の場合、0が削除される場合があるので注意してください。ファイルを開いて、取引先企業のGUID 列を先頭に移動します。

下図のように移動します。また、GUID列の列名がエンティティ名( 物理名ではありません)になっていることも確認してください。そうでない場合エンティティ名に変更します。

3. 更新しない列の削除

今回は企業名とメールアドレスを更新してみます。GUID列以外のそのほかの列は削除します。削除後は下図のようになりすっきりします。

4. 電子メールと取引先企業名を変更

更新確認用に電子メールと取引先企業名を適当に変更してみます。

必要な編集は以上です。重要な点は、キーのGUID列が1番目にきていること。そしてGUID列の列名がエンティティ名になっていることです。

5.編集したファイルの保存

ファイルをCSV形式で保存します。文字コードはUNICODEにします。

すべての準備は完了です。インポートウィザードを起動してみます。

6.インポートウィザードを起動してデータをインポートする

インポートウィザードを開始し、データファイルに先ほど編集したCSVファイルを指定します。

次へボタンを押して、レコードの種類の選択画面に遷移すると画面の上部に、通常のインポートウィザードでは現れない"新しいレコードを作成するのではなく、既存のれ子オードを更新して、データに情報を追加します。"という文言のチェックボックスが表示されます。チェックされている状態だと、レコードの種類を手動で指定できなくなります。チェック状態で次へボタンをクリックすると、インポートされたレコードは更新データとして扱われるようになります。

重複データの検出オプションを選択して次へボタンをクリックします。

確認画面が表示されるので、内容を確認しインポートボタンをクリックし、インポートを開始します。

7.インポート結果の確認

インポートレコードを表示して、詳細の更新済みの取引先企業を選択して、更新されたレコードの一覧を関連ビューで確認します。インポートしたデータファイルの値で更新されていることがわかります。

説明は以上です。非サポートの方法ですが、更新を行う機能を紹介しました。

主属性と一致するものがあれば更新、なければ新規作成というような動きをインポートウィザードがしてくれればさらに便利だと思うのですが、残念ながらそこまで柔軟な機能はインポートウィザードでは実装されていないようです。