[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で開くを選択

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

球場名住所緯度経度最寄駅屋内
メットライフドーム埼玉県所沢市上山口213535.768547139.420517西武球場前駅はい
MAZDA Zoom-Zoom スタジアム広島広島県広島市南区南蟹屋2-3-134.391273132.484578広島駅いいえ
札幌ドーム北海道札幌市豊平区羊ケ丘1番地43.015775141.409529福住駅はい
楽天生命パーク宮城宮城県仙台市宮城野区宮城野2-11-638.257243140.902722宮城野原駅いいえ
東京ドーム東京都文京区後楽1-3-6135.70564139.751891後楽園駅はい
明治神宮野球場東京都新宿区霞ヶ丘町3-135.673736139.716545外苑前駅いいえ
ZOZOマリンスタジアム千葉県千葉市美浜区美浜135.64524140.030909海浜幕張駅いいえ
横浜スタジアム神奈川県横浜市中区横浜公園35.443311139.640072関内駅いいえ
ナゴヤドーム愛知県名古屋市東区大幸南1-1-135.18653136.946736ナゴヤドーム前矢田駅はい
京セラドーム大阪大阪府大阪市西区千代崎3-中2-134.669528135.476003ドーム前千代崎駅はい
阪神甲子園球場兵庫県西宮市甲子園町1-8234.721273135.361573甲子園駅いいえ
福岡 ヤフオク!ドーム福岡県福岡市中央区地行浜2-2-233.595361130.362195唐人町駅はい

Excel Online上のデータ入力状態

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

コメント