前回の続きです。
前回はSalesforce側でしたが、今回はDynamics側のデータ投入となります。
今回の目的
Dynamics側のエンティティにデータを投入します。
Dynamics側で準備しておくべきこと
Salesforce側では、以下準備が必要でした。
- データ投入ツールのインストール
- 外部IDの定義
- 紐付け用の外部ID数式項目の定義
では、Dynamics側にも同じような準備が必要でしょうか?
答えはNoです。
これら全てDynamics側で準備は不要です。
データ投入ツールのインストール
Dynamicsのビューからインポートおよびエクスポートする機能があるため、ツールのインストールは不要です。
外部IDの定義
Dynamicsのエンティティで、キーの役割を果たすのがプライマリキーになります。
このプライマリキーはエンティティ内に必ず一つ定義する必要があるため、嫌でも持たせることになります。
エンティティのプライマリフィールドタブに定義されているものがそれに当たります。
設定したエンティティを振り返ると、以下フィールドがプライマリフィールドとなっています。
球場→球場名(new_name)
球団→取引先企業名(name)
所属選手→氏名(name)
紐付け用の外部ID数式項目の定義
この作業も不要です。
検索フィールドには、直接参照先エンティティのプライマリフィールドの値を指定することで紐付けが可能なので、余分な数式を作り必要がありません
実践編:データの投入
では、早速データの投入をしましょう。
入れ方が何パターンかあるので、せっかくだから手法を変えながらインポートしてみます。
球場:Excel Onlineから挿入
まずは、球場データをExcel Onlineからインポートします。
球場のメニューから、任意のビューが表示されますが、その画面のコマンドバーから[Excelにエクスポート]→[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 | 唐人町駅 | はい |
屋内のフィールド(2つのオプション)は表示値に合わせる必要があるので、「True」「False」ではなく、「はい」「いいえ」で指定します。
最後に保存ボタンを押すと、インポートされます(非同期なので少し時間がかかります)。
この通り、インポートされました。
中身もバッチシです!
球団:Excelインポート機能を使用
今度の球団データはやり方を変えて、ローカルのExcelファイルからインポートしてみます。
こちらの球団データを使用してインポートします。
球団のメニューからコマンドバーの[Excelからのインポート]を選択。
ファイル選択で球団データを指定。ドラッグアンドドロップも可。
Excelが取り込まれますが、マッピングを変更したい場合は、[マッピングの確認]を押下。
マッピングは自動的に項目名とタイトル行に合わせてくれます。
変更したい場合は、画面上から変更しますが、今回は同じにしているので、そのまま[インポート完了]押下。
この通り、インポートされました。
データを確認しても、バッチリです。
球場との関連付けもされています。
同じ要領で、所属選手もインポートから一括投入します。
(今回はカープの選手だけ作成)
まとめ:両者の違いについて
Dynamicsはインポートのデータを見ていただけるとわかるように、他エンティティとの関連付けは、プライマリキーを一致させて関連づけるやり方になります。
球場であれば球場名、球団であれば球団名といった具合です。
基本、名前による紐付けなので、操作ユーザからすると分かりやすい反面、同姓同名などの重複データが出てきたときに紐付けがうまく行かなくなります。
その場合は、以下のような重複レコード検出機能で事前に重複を防ぐか、マッピング機能を使用して、名前ではなくユニークなコード値で関連付するなどの手法があります。
両者の違いを述べると、整合性のSalesforce、操作性のDynamicsと言ったところでしょうか。
Salesforceはデータの整合性を担保するために、API参照名でフィールドを指定したり、SalesforceIDや外部IDをキーとして、データの一意性を意識したインポートの仕方がされています。
それに対し、Dynamicsはラベル名でのマッピングや紐付けをしているため、論理名を意識しないユーザ側から見ればやりやすいインポートになっているかと思います。
ここで紹介したものは、基本的な動作で、もう少し細かい設定を駆使したり、インポートを意識したエンティティの設計をすることで、データの精度を向上させることは可能です。
コメント