[Dynamics CRM 2016 Reporting]今日は未来なのか?過去なのか?問題
2016/07/28 Kyo1.Inoue
以前、Dynamics CRM 2011の仕事で日付にまつわる不具合を出したことがあります。
日付が本日以降となっているデータを抽出しないといけないビューがあり、
「が今後X年間」「100」と指定して、今後100年間を指定したのですが、
本日のデータが抽出されていませんでした。
未来でも過去でも今日は「今日」を指定しなければなりませんでした。
※2016/09/04 記憶違いのため削除します。
同様の事を Dynamics CRM 2016 で試してみたいと思います。
1. 例えば以下のようなデータがあったとします。
ちなみに本日は2016/07/27です。
上部右上の「高度な検索ボタンを押下します」
2. 高度な検索で、「開始時間」「が今後X年間」「100」と指定すると
明日以降である2016/07/28のデータのみ抽出され、本日データは抽出されません。
本日は未来ではない事がわかります
3. そうだとすると高度な検索で、「開始時間」「が過去X年間」「100」と指定すると、どうなるか?
なんとっ!今日も抽出されてる・・・・
2011では、昨日以前のデータのみ抽出され、本日データは抽出されなかったのですが、仕様変わっとるやないかいっ・・・
※2016/09/04 記憶違いのため削除します。
本日は過去なのか・・・・?
それとも、たまたま今が午後12時を超えているから過去になったのか?
いや、正確には11:59までの11時間59分間は未来で
次の11時間59分間は過去になるのだろうか・・・?
何故このような憶測をするかというと、日付と時間のデータは、
現在時間が過ぎていないデータ = 未来
現在時間が過ぎているデータ = 過去
となるからです。
【 例 】日付と時間の条件
[未来]
<↓結果>
と、いうわけで、次の日に検証してみました。現在の日時は2016/07/28 8:30です。
[未来]
<↓結果>
結果、本日は過去であると定義付けられている事がわかりました。
Dynamics CRM 2011の頃の
※2016/09/04 記憶違いのため削除します。
「今日は未来でも過去でもない。今日は今日である」
という定義の方が哲学的で個人的には好きなんだケドなぁと思います。