Dynamics CRM 2011では4.0と比べて標準のインポートが非常に強化されています。いろいろ試したので、新しい機能を覚書として記載します。余力もあれば図も載せます。

ざっくりいうとDynamcis CRM 2011は、 Dynamics CRM 4.0 の時代では データ移行マネージャ(Data Migration Manager) を使用する必要があった機能が、標準インポートで行えるようになっています。

1. 新しい便利なインポートの機能

いろいろ強化されているのでぬけがあるかもしれませんが、 Dynamics CRM 4.0 の時代になかった便利なインポート機能を挙げてみます。

1.1 Lookup(検索)属性の解決が主属性以外で行える

Dynamics CRM 2011 では、インポート時のLookup(検索) 属性の解決に 主属性に加え、 Lookup先レコードのGUID を指定して解決できるようになっています。また、インポート時(not 再インポート時) にそのほかの属性を使用して Lookup を解決できます。例えば、取引先企業をインポートする時、 取引先企業の親企業 属性を 取引先企業番号 を指定して解決できます。

取引先企業をインポートするときに取引先の親会社 検索フィールドの解決に取引先企業番号を使用する例を表示します。下図は、データのインポートウィザード中のレコードの種類のマッピング画面です。次へボタンをクリックします。

 フィールドのマップ画面で各フィールドとインポートファイルの列フィールドのマッピングを設定します。入力ファイルのヘッダ名とエンティティのフィールド名を合わせているので自動でマッピングされています。ここで、取引先企業の親会社をGUID、プライマリフィールドに加えて、取引先企業番号で解決するように設定します。取引先企業の親会社の左のアイコンをクリックします。

虫眼鏡アイコンをクリックすると参照を解決するために使用するフィールドがドロップダウンで表示されるので、取引先企業番号にチェックを入れ、OKボタンをクリックします。

画面が戻ります。必要に応じて 所有者の検索フィールドの参照の解決方法や、状態のオプションセット値とインポートファイルの状態の値とのマッピングを定義できます。

Dynamics CRM 4.0の場合、プログラムを作成しないで、主属性以外で Lookup を解決してレコードをインポートする場合、 DMM を使う必要がありました。

1.2 所有者を指定できる

インポート時に インポートファイルに所有者列を設定できるようになりました。 Owner 属性の解決も Lookup(検索)属性と同様に 主属性以外の属性を指定して参照を解決してインポートできます。

DMMを使用して同様の機能を Dynamics CRM 4.0 で実現できましたが、標準のインポートでは一人のユーザのみを所有者としてインポートできました。

1.3 状態を指定できる

インポート時にインポートファイルに状態(アクティブ、非アクティブ)列を指定して インポートできます。

DMMを使えば同様の機能を Dynamics CRM 4.0 で実現できましたが、標準のインポートでは 必ずアクティブなレコードとしてインポートされました。

1.4 再インポート(Date Enrichment)機能がサポートされた

Excel エクスポート時に、表示されるダイアログで "このデータを再インポートできるように必須の列見出しを対象に含める"  にチェックを入れてエクスポートしたExcel 用の XML ファイルを編集して 再インポートが行えるようになりました。編集したレコードは更新され、追加したレコードは新規作成されます。

再インポートされるのは、編集したレコードと新規追加したレコードのみです。エクスポートしたXMLファイルを Excel で開くと、ABC列が非表示列になっており、それぞれGUID,チェックサム,最終更新日が設定されています。この列の値の有無で、更新か新規作成かを見分けています。

エクスポートした時点から、再インポートする間に編集したレコードが別のユーザなどにより更新されていると再インポートに失敗します。

簡単に再インポートの手順を記載します。高度な検索や、エンティティのレコード一覧画面から Excel エクスポートを行います。エクスポート時に、下図のように画面下の"このデータを再インポートできるように必須の列見出しを対象に含める"にチェックを入れてエクスポートを行います。

エクスポートすると E列以降にエクスポートしたレコードのデータが表示されます。更新したレコードを編集します。新規行にデータを入力すると再インポート時にレコードが新規作成されます。

編集したファイルをインポートします。インポートウィザードを進めると下図画面が表示されます。画面情報の注意メッセージで "この操作を実行すると、既存のレコードが更新され、必要に応じて、新しいレコードが作成されます。" と表示されることが確認できます。

1.5 zipファイルに複数のファイルを含めてインポートできる

インポートファイルを zip ファイルにまとめることで、複数のエンティティのレコードをインポートできるようになっています。

1.6 エンティティインポート用のテンプレートファイルがダウンロードできるようになった

地味にうれしいです。インポートと直接関係ないかもしれませんが、エンティティインポート用の テンプレートファイル(Excel 2003 用 XMLファイル)がダウンロードできるようになりました。インポートするとき列とエンティティの属性の自動マップを行うには、インポートファイルの列名がエンティティの属性の表示名と一致している必要があります。そのため、属性の多いエンティティのインポートファイルを作成するのが簡単になります。

テンプレートは次の方法でダウンロードできます。インポート用のテンプレートは、各エンティティの一覧メニューのエンティティのタブ(下図では取引先企業) のデータのインポート ボタンの下側をクリックして表示されるメニューの インポートするテンプレートのダウンロードをクリックします。 

もしくは、ナビゲーションメニューで設定を選択します。メニューのデータ管理をクリックします。データ管理画面が表示されるので、データインポート用のテンプレートをクリックします。クリックすると下図の画面が表示されます。テンプレートをダウンロードしたいエンティティをドロップダウンから選択してダウンロードボタンをクリックします。

下図のような、Excel 2003 用の XML スプレッドシートがダウンロードされます。必須項目は太字(Bold)の書式になっています。

などなど機能がいっぱいです。もちろんDynamics CRM 4.0 の時代からあったオプションセット(Picklist)のマッピングなども行えます。

上記以外にもインポート時にエンティティを新規作成したり、属性を新規作成できる機能もあります。使うかどうかは別として。

既定のファイルサイズ上限について
ファイルサイズの上限ですが、1ファイル 8MB まで、 zip ファイルにまとめた場合は 32MB までの制限があります。zipの場合でも各ファイルのサイズは 8MB の上限があるので注意してください。