[SFDC vs D365]フィールドの作成(球団編)

項目を作ろうの第2弾。
今回は、球団エンティティになります。

スポンサーリンク

球団は標準エンティティ

球団はSalesforceでいう取引先、Dynamicsでいう取引先企業を使用しています。
どちらもAccountと言われるものですね。
元々会社情報を入れるものなので、必要な情報はある程度揃っています。
取引先企業は逆にありすぎるってくらいです。
そのため、標準で備わっているものはそちらを使う方針とします。

項目定義

ということで、Salesforce・Dynamicsそれぞれで項目を定義してみました。
今回は各々をいちいち説明せず、いきなり出来上がった比較表を掲載します。

だいぶ横長になってしまいましたので拡大してご覧ください。

ここも、素直に移行できるところが多いんじゃないかと思います。
本日のポイントは数値と住所の部分になります。

住所型は分割して複数項目として捉える

球場オブジェクトは住所はロングテキスト型でしたが、球団オブジェクトは取引先なので、複合項目の住所が存在します。
この住所をDynamicsの球団エンティティのフィールドへ移行ということになれば、住所という大きい単位ではなく、郵便番号や都道府県などのユニット単位での移行となります。
幸い、Dynamicsの取引先企業にも住所の項目があり、郵便番号や都道府県それぞれを設定する欄があるため、移行可能です。
逆にDynamicsの住所項目の方が項目が多いので、Dynamics→Salesforceの移行ではある程度項目を文字列結合などして集約する必要があります。

例)番地、建物名、棟/部屋番号を町名・番地に集約する

ついでに、Dynamicsでの住所の持ち方について述べると、住所は以下の3つのいずれかで持たせることができます。

  1. 郵便番号や都道府県など1つ1つのフィールドとして持つ
  2. 複数行テキストで1つのフィールドとして持つ
  3. 住所エンティティを使用して関連付ける

球団(取引先企業)では、上記3つのどの形でも指定する事ができますが、今回は1を採用しました。
2は1で記載した各項目値を結合して1つのフィールドとして入れるもの。
3は住所エンティティという、標準エンティティの中で住所登録して、球団側では検索フィールドだけを持たせる方法。Salesforceの住所複合項目に近いです。

数値型の微妙な違い

Salesforceは整数だろうと、小数だろうと、数値項目として扱われます。
その中で、整数部分と小数部分の桁数を設定することになります。

一方のDynamicsは、整数、10進数、浮動小数点数の3つが扱えます。
10進数と浮動小数点数は前回述べたような違いがありますが、整数と10進数の違いについても簡単に調べました。

整数の扱える範囲は、-2,147,483,648 から 2,147,483,647です。
一方の10進数は-100,000,000,000 から-100,000,000,000です。しかも、10進数は小数も扱えます。
扱える数値だけでいったら10進数の方が上位互換となります。

では、整数を使うメリットは?
それは表示方法を指定できるところです。
期間、タイム ゾーンおよび言語の表示オプションがあるため、期間を表示したいけど、数値として扱いたい場合に重宝します。

ただし、期間は分単位で管理されます。
1日を表示させたい場合は、1,440を入れる必要があり、分表示させるためのコントロールが必要になります。
タイムゾーンや言語もいちいち数値化しないでしょうし、あまり実用的ではないですね。

また、範囲指定にも細かな違いがあって、Salesforceでは桁数指定、Dynamicsでは最小・最大指定となります
今回のケースだと、リーグ優勝回数などは整数でかつ、マイナス値があり得ません。
Salesforceは桁数設定だけなので、マイナス値だけを制限するのは、項目設定の範囲内ではできません

Dynamicsでは、桁数ではなく範囲指定となるので、このように最小値を0にする事でマイナス値の制限を項目設定内でかけることが可能です。

まとめ

  • Accountの標準項目はDynamicsの方が多め
  • Dynamicsの方が住所に対しての受け皿が広い
  • 数値型はSalesforceでは桁数指定、Dynamicsでは最小・最大の範囲指定

コメント