[SFDC vs D365]データインポート(Dynamics編)

前回の続きです。
前回はSalesforce側でしたが、今回はDynamics側のデータ投入となります。

スポンサーリンク

今回の目的

Dynamics側のエンティティにデータを投入します。
Dynamics側のエンティティをインポートする

Dynamics側で準備しておくべきこと

Salesforce側では、以下準備が必要でした。

  • データ投入ツールのインストール
  • 外部IDの定義
  • 紐付け用の外部ID数式項目の定義

では、Dynamics側にも同じような準備が必要でしょうか?
答えはNoです。
これら全てDynamics側で準備は不要です。

データ投入ツールのインストール

Dynamicsのビューからインポートおよびエクスポートする機能があるため、ツールのインストールは不要です。

外部IDの定義

Dynamicsのエンティティで、キーの役割を果たすのがプライマリキーになります。
このプライマリキーはエンティティ内に必ず一つ定義する必要があるため、嫌でも持たせることになります。

エンティティのプライマリフィールドタブに定義されているものがそれに当たります。
キーとなる項目はプライマリフィールドになる

設定したエンティティを振り返ると、以下フィールドがプライマリフィールドとなっています。

球場→球場名(new_name)
球団→取引先企業名(name)
所属選手→氏名(name)

紐付け用の外部ID数式項目の定義

この作業も不要です。
検索フィールドには、直接参照先エンティティのプライマリフィールドの値を指定することで紐付けが可能なので、余分な数式を作り必要がありません

実践編:データの投入

では、早速データの投入をしましょう。
入れ方が何パターンかあるので、せっかくだから手法を変えながらインポートしてみます。

球場:Excel Onlineから挿入

まずは、球場データをExcel Onlineからインポートします。
球場のメニューから、任意のビューが表示されますが、その画面のコマンドバーから[Excelにエクスポート]→[Excel Onlineで開く]を選択。
Excel Onlineからデータインポートする
エクスポートのExcel Onlineで開くを選択

ビューに表示されているフィールドしか表示されませんが、行と列の追加は可能ですので、以下データを直接入力します。

球場名 住所 緯度 経度 最寄駅 屋内
メットライフドーム 埼玉県所沢市上山口2135 35.768547 139.420517 西武球場前駅 はい
MAZDA Zoom-Zoom スタジアム広島 広島県広島市南区南蟹屋2-3-1 34.391273 132.484578 広島駅 いいえ
札幌ドーム 北海道札幌市豊平区羊ケ丘1番地 43.015775 141.409529 福住駅 はい
楽天生命パーク宮城 宮城県仙台市宮城野区宮城野2-11-6 38.257243 140.902722 宮城野原駅 いいえ
東京ドーム 東京都文京区後楽1-3-61 35.70564 139.751891 後楽園駅 はい
明治神宮野球場 東京都新宿区霞ヶ丘町3-1 35.673736 139.716545 外苑前駅 いいえ
ZOZOマリンスタジアム 千葉県千葉市美浜区美浜1 35.64524 140.030909 海浜幕張駅 いいえ
横浜スタジアム 神奈川県横浜市中区横浜公園 35.443311 139.640072 関内駅 いいえ
ナゴヤドーム 愛知県名古屋市東区大幸南1-1-1 35.18653 136.946736 ナゴヤドーム前矢田駅 はい
京セラドーム大阪 大阪府大阪市西区千代崎3-中2-1 34.669528 135.476003 ドーム前千代崎駅 はい
阪神甲子園球場 兵庫県西宮市甲子園町1-82 34.721273 135.361573 甲子園駅 いいえ
福岡 ヤフオク!ドーム 福岡県福岡市中央区地行浜2-2-2 33.595361 130.362195 唐人町駅 はい

Excel Online上のデータ入力状態

屋内のフィールド(2つのオプション)は表示値に合わせる必要があるので、「True」「False」ではなく、「はい」「いいえ」で指定します。
2つのオプションはラベル名に合わせた書き方にする

最後に保存ボタンを押すと、インポートされます(非同期なので少し時間がかかります)。
この通り、インポートされました。
投入後の球場データ

中身もバッチシです!
球団の各項目にもデータ設定済み

球団:Excelインポート機能を使用

今度の球団データはやり方を変えて、ローカルのExcelファイルからインポートしてみます。
こちらの球団データを使用してインポートします。

球団のメニューからコマンドバーの[Excelからのインポート]を選択。
Excelからのインポートでデータ投入

ファイル選択で球団データを指定。ドラッグアンドドロップも可。
Excelのファイルを指定

Excelが取り込まれますが、マッピングを変更したい場合は、[マッピングの確認]を押下。
マッピングの調整はマッピングの確認ボタンから

マッピングは自動的に項目名とタイトル行に合わせてくれます。
変更したい場合は、画面上から変更しますが、今回は同じにしているので、そのまま[インポート完了]押下。
マッピングの変更画面

この通り、インポートされました。
インポートされた球団データ

データを確認しても、バッチリです。
球場との関連付けもされています。
球場の内容もインポート済み

同じ要領で、所属選手もインポートから一括投入します。
(今回はカープの選手だけ作成)

まとめ:両者の違いについて

Dynamicsはインポートのデータを見ていただけるとわかるように、他エンティティとの関連付けは、プライマリキーを一致させて関連づけるやり方になります。

球場であれば球場名、球団であれば球団名といった具合です。
基本、名前による紐付けなので、操作ユーザからすると分かりやすい反面、同姓同名などの重複データが出てきたときに紐付けがうまく行かなくなります。

その場合は、以下のような重複レコード検出機能で事前に重複を防ぐか、マッピング機能を使用して、名前ではなくユニークなコード値で関連付するなどの手法があります。

両者の違いを述べると、整合性のSalesforce、操作性のDynamicsと言ったところでしょうか。

Salesforceはデータの整合性を担保するために、API参照名でフィールドを指定したり、SalesforceIDや外部IDをキーとして、データの一意性を意識したインポートの仕方がされています。
それに対し、Dynamicsはラベル名でのマッピングや紐付けをしているため、論理名を意識しないユーザ側から見ればやりやすいインポートになっているかと思います。
ここで紹介したものは、基本的な動作で、もう少し細かい設定を駆使したり、インポートを意識したエンティティの設計をすることで、データの精度を向上させることは可能です。

コメント