フィールド「DATE_ISSUE」の日付から今日(Today())までの経過時間に基づいて地図をシンボル表示したいと考えています。ポイントの日付が6か月未満なら「有効」、1年以上前なら「期限切れ」、6か月から1年の間なら「古い」、また「DATE_ISSUE」に日付が入力されていない場合は「保留」と表示したいです。
テスト用に67ポイントのレコードがあります。24件は日付が発行されておらず、1ポイントは2016年12月8日(518日前)、1ポイントは2017年9月8日(244日前)、1ポイントは2017年5月12日(363日前)で、残りはすべて2018年1月以降の日付です。
現時点では、次のようにしています。
var pDate = Date(Today());
var rDate = Date($feature["DATE_ISSUE"]);
var age = DateDiff(pDate, rDate, 'days');
if (age < 182.5){
"有効"
}
else if(age >= 182.5 && age <355){
"古い"
}
else if (age >= 365 && age < 10000){
"期限切れ"
}
else if (age > 10000){
"保留"
}
最後の else if 節は、バンクの「DATE_ISSUE」フィールドが DateDiff 関数で 17,661.33 と計算されたために追加しました。
この設定では「有効」が40件、「保留」が24件となり、182.5日を超える3つのオブジェクトは表示されません。文字どおり、消えてしまいます。属性テーブルには67件すべて表示されています。シンボル表示のオプションではポイントの合計が64件で、「その他」は0件です。「その他」にチェックを入れると、カウントは0のままなのに3件が表示されます。
DateDiff 関数を確認すると、先ほどの17,661.33を除き、126日を超える値は生成されていません。
オフィスのスタッフがいちいち調べなくて済むよう、期限切れまたは古いポイントを見た目で判別できるようにしたいだけです。