Daha çox

Nöqtə verilənlər bazasında bir GROUP BY alt sorğusunda MOD istifadə


ArcGIS-də 200 ballıq məlumat dəstim var (shp / f gdb / p gdb formatında).

Bir GROUP BY alt sorğusundakı MOD () funksiyasını məlumatları incəltmək üçün təbəqədəki tərif sorğusu kimi istifadə etməyə çalışıram. Mənə lazım olanı məlumatları 'Ad' sütunu ilə qruplaşdırmaq və sonra hər bir 'Adı' müəyyən bir miqdarda və ya faizlə süzməkdir. İdeal olaraq 5 və ya 10 MOD dəyərindən istifadə etmək istərdim.

Aşağıdakı cədvəl bir nümunədir.

Şəxsiyyət vəsiqəsi | Vaxt | Adı --- | ------ | ----- 01 | 0100 | FOX 02 | 0200 | FOX 03 | 0300 | FOX 04 | 0400 | FOX 05 | 0600 | FOX - 06 | 0100 | CAT 07 | 0200 | CAT 08 | 0300 | CAT - 09 | 0100 | DOG 10 | 0200 | DOG 11 | 0300 | DOG 12 | 0400 | DOG 13 | 0500 | DOG 14 | 0600 | DOG 15 | 0700 | Köpək

Aşağıdakı MOD bütün təbəqədə işləyir, lakin sorğunun yalnız 1, 5, 10 və 15 sətirlərini göstərdiyi CAT kimi məlumatların atlanması riski var (fayl gdb formatı).

MOD ("ID", 5) = 0

Aşağıdakılar da işləyir, amma daha az dərəcədə. Yalnız MIN və MAX dəyərlərindən (şəxsi gdb formatı) istifadə etmək əvəzinə məlumatları incəltməliyəm.

[Vaxt] in (SEX MAX ([Vaxt)) FROM data_table GROUP BY [Ad])

Buna nail olmağın ən yaxşı yolu nə ola bilər? Bunu görməməzdən gəldiyim daha sadə bir yol varmı?


ArcMap-ın [Sorğu Cədvəli hazırla] geo-işləmə alətindən istifadə edə bilərsiniz:

  1. Giriş cədvəlini ballarınızın məlumatlarına uyğunlaşdırın.
  2. Ehtiyac sahələrini seçin (xüsusiyyət ilə nəticə əldə etmək istəyirsinizsə, Forma sahəsini seçməlisiniz)
  3. Where_clause-də sualınız kimi daxil edin ([Time] in (SEX MAX ([Time]) from FROM data_table GROUP BY [Name]))
  4. Varsayılan cədvəl adına ehtiyacınız yoxdursa, masa adını təyin edin.
  5. Tamam düyməsini vurun, incəltmək istədiyiniz yeni bir təbəqə tapmalısınız.
  6. Bunu shp / f gdb / p gdb formatına ixrac edə bilərsiniz.