RangeSum - script- en grafiekfunctie
RangeSum() retourneert de som van een reeks waarden. Alle niet-numerieke waarden worden behandeld als 0, in tegenstelling tot de +-operator.
Syntaxis:
RangeSum(first_expr[, Expression])
Retourgegevenstypen: numeriek
Argumenten:
Het argument van deze functie kan interrecordfuncties bevatten die op hun beurt een bereik van waarden opleveren.
- first_expr: De uitdrukking die of het veld dat de gegevens bevat die moeten worden opgeteld.
- Expression: Optionele uitdrukkingen of velden die het gegevensbereik bevatten dat moet worden opgeteld. Er kunnen meerdere extra uitdrukkingen worden gebruikt.
Beperkingen:
De functie RangeSum behandelt alle niet-numerieke waarden als 0, in tegenstelling tot de operator +.
Voorbeelden:
Voorbeeld | Resultaat |
---|---|
RangeSum (1,2,4) |
Retourneert 7 |
RangeSum (5,'abc') | Retourneert 5 |
RangeSum (null( )) |
Retourneert 0 |
Voorbeeld: (gebruikt uitdrukking)
RangeSum (Above(MyField,0,3))
Retourneert de som van de drie waarden van MyField): van de huidige rij en de twee rijen boven de huidige rij. Doordat het derde argument wordt opgegeven als 3, retourneert de functie Above() drie waarden, met voldoende rijen erboven, die als invoer worden gebruikt voor de functie RangeSum().
MyField | RangeSum(Above(MyField,0,3)) |
---|---|
10 | 10 |
2 |
12 |
8 | 20 |
18 | 28 |
5 | 31 |
9 | 32 |
Gegevens die worden gebruikt in voorbeelden:
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;
Voorbeeld: (in tabelvorm)
Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.
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
];
De resulterende tabel bevat de geretourneerde waarden van MyRangeSum voor elk van de records in de tabel.
RangeID | MyRangeSum |
---|---|
1 | 21 |
2 | 12 |
3 | 18 |
4 | 38 |
5 | 19 |
6 | 15 |