RangeSum(), bir değer aralığının toplamını döndürür. + işlecinden farklı olarak, sayısal olmayan tüm değerler 0 gibi işlem görür.
Söz Dizimi:
RangeSum(first_expr[, Expression])
Dönüş verileri türü: sayısal
Bağımsız Değişkenler:
Bu fonksiyonun bağımsız değişkeni, kendi içinde bir değer listesi döndüren kayıt arası fonksiyonlarını içerebilir.
- first_expr: Toplamı alınacak verileri içeren ifade veya alan.
- Expression: Toplanacak veri aralığını içeren isteğe bağlı ifadeler veya alanlar. Çok sayıda ek ifade kullanılabilir.
Sınırlamalar:
RangeSum fonksiyonu sayısal olmayan tüm değerlerle 0 gibi işlem yapar (+ işlecinden farklı olarak).
Örnekler:
| Örnek | Sonuç | 
|---|---|
| RangeSum (1,2,4) | 7 değerini döndürür | 
| RangeSum (5,'abc') | 5 değerini döndürür | 
| RangeSum (null( )) | 0 değerini döndürür | 
Örnek: (ifade kullanarak)
RangeSum (Above(MyField,0,3))
Geçerli satırda ve geçerli satırın iki satır üzerinde hesaplanan üç MyField) değerinin toplamını döndürür. Üçüncü bağımsız değişkenin 3 olarak belirtilmesiyle, Above() fonksiyonu üstte yeterli satırın bulunduğu durumlarda üç değer döndürür ve bunlar da RangeSum() fonksiyonu için giriş değeri olarak alınır.
| MyField | RangeSum(Above(MyField,0,3)) | 
|---|---|
| 10 | 10 | 
| 2 | 12 | 
| 8 | 20 | 
| 18 | 28 | 
| 5 | 31 | 
| 9 | 32 | 
Örneklerde kullanılan veriler:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
Örnek: (tablo biçiminde)
Örnek kodu belgenize ekleyin ve çalıştırın. Ardından, sonucu görmek için belgenizdeki bir sayfaya en azından sonuçlar sütununda listelenen alanları ekleyin.
RangeTab3:
LOAD recno() as RangeID, Rangesum(Field1,Field2,Field3) as MyRangeSum INLINE [
Field1, Field2, Field3
10,5,6
2,3,7
8,2,8
18,11,9
5,5,9
9,4,2
];
Sonuçta oluşan tablo, tablodaki kayıtların her biri için döndürülen MyRangeSum değerlerini gösterir.
| RangeID | MyRangeSum | 
|---|---|
| 1 | 21 | 
| 2 | 12 | 
| 3 | 18 | 
| 4 | 38 | 
| 5 | 19 | 
| 6 | 15 |