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.

Syntax:  

RangeSum(first_expr[, Expression])

Return data type: numeriek

Arguments:  

Het argument van deze functie kan interrecordfuncties bevatten die op hun beurt een bereik van waarden opleveren.

Argument Beschrijving
first_expr De uitdrukking die of het veld dat de gegevens bevat die moeten worden opgeteld.
Expression Optionele uitdrukkingen of velden met extra gegevens die moeten worden opgeteld. Er kunnen meerdere extra uitdrukkingen worden gebruikt.

Limitations:  

De functie RangeSum behandelt alle niet-numerieke waarden als 0, in tegenstelling tot de operator +.

Examples and results:  

Voorbeelden Resultaten
RangeSum (1,2,4)

Retourneert 7

RangeSum (5,'abc') Retourneert 5
RangeSum (null( ))

Retourneert 0

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

Voorbeeld met 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().

Gegevens die worden gebruikt in voorbeelden:

Tip: Schakel het sorteren van MyField uit om ervoor te zorgen dat het voorbeeld werkt zoals verwacht.
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

] ;