ここからは、各エンティティの項目を作成していきます。
ここでのポイントはSalesforceとDynamicsで扱えるデータ型を理解すること。
その中で互換性のあるものとないものを知ることがここでの主な目的となります。
書く内容が多いので、エンティティごとに分けます。
まずは一番シンプルな球場エンティティから作成です。
球場オブジェクト
まずはSalesforceの球場オブジェクトから作成。
思いついた範囲で、項目を作成してみました。
ポイントとしては、住所と緯度経度を入れています。
この2つは複合項目としてありますが、住所の方はカスタムオブジェクトとしては使用できないため、ロングテキストエリアにて作成。
球場エンティティ
Dynamics側では、球場オブジェクトを真似て作った球場エンティティを作成します。
こちらは、緯度経度がセットになっていないので、それぞれ個別に持つ必要があります。
緯度・経度は10進数?浮動小数点?
浮動小数点と10進数の違いを簡単に。
◇浮動小数点
- 小数第5位まで表示可能
- 計算、ロールアップフィールドとしては使用できない
◇10進数
- 小数第10位まで表示可能
- 計算、ロールアップフィールドとしては使用できる
これだけだと、10進数の方が上位互換であるように見えます。
そうなると、一つの疑問が。
浮動小数点を使うメリットはあるのでしょうか?
調べてみました。
カスタマイズガイドからの引用。
数値フィールドに使用する正しいタイプを選択する際に、整数または通貨タイプを選択すると、とても簡単です。 浮動小数点または小数の数値を使用する選択は、もっと複雑です。
小数は、指定したとおりにデータベースに格納されます。 浮動小数点数の数値は、その値の近似値が格納されます。 正確な値があるのに、なぜ近似値を使用するのか? 答えは、異なるシステム パフォーマンスを得るためです。
きわめて正確な計算が必要なレポートを提供する必要がある場合、または別の値と等しいまたは等しくない値を検索するクエリを使用する場合は小数を用います。
端数を表すデータを格納する場合や、不等号演算子を使用して他の値と比較するクエリする値を表すデータを格納する場合、浮動小数点数を使用します。 ほとんどの場合は、小数と浮動小数の違いには気づきません。 非常に正確な計算が必要とする以外、浮動小数点数が適しています。
何と、浮動小数点は正確な数値ではないらしいです!
正確さの10進数、スピードの浮動小数点という特徴があります。
例えば、ビューで0.00001とイコールのものを抽出したい場合は、10進数を使うのが適しているようです。
一方、ビューで0.00001未満といった不等号形式で抽出したい場合は、浮動小数点が適しているようです。
小数のごくごく細かい値のレポート表示に関わる部分での違いのため、使う場面も限られてきますが、基本10進数使用で問題ないかと思います。
基本10進数でと述べたばかりですが、球場の緯度経度は浮動小数点を使用します。
取引先企業(球団)の標準項目にも住所に対する緯度経度があるんですが、浮動小数点型になっているのでこちらに合わせます。
比較してみる
オブジェクトとエンティティを作成したところで、両者を並べて比較してみました。
緯度経度のところが2分割されただけで、球場エンティティはほぼ同じ形ができたんじゃないかと思います。
それ以外は機能落ちすることなく、以下のように移行が可能です。
- テキスト→1行テキスト
- ロングテキスト→複数行テキスト
- チェックボックス→2つのオブション
次回は球団エンティティを作ります。
まとめ
- テキスト、ロングテキスト、チェックボックスの移行は可能
- 緯度経度は緯度と経度2つのフィールドに分ける
コメント