RangeSum - Skript- und Diagrammfunktion

RangeSum() liefert die Summe einer Reihe von Werten. Im Gegensatz zum Operator + werden alle nicht numerischen Werte als 0 behandelt.

Syntax:  

RangeSum(first_expr[, Expression])

Rückgabedatentyp: numerisch

Argumente:  

Das Argument dieser Funktion kann durch „Inter-Record-Funktionen“ berechnet werden, die selbst auch wieder eine Anzahl von Werten liefern.

Argument Beschreibung
first_expr Die Formel oder das Feld mit den Daten, deren Summe ermittelt werden soll.
Expression Optionale Formeln oder Felder, in denen die zusätzlichen Daten enthalten sind, deren Summe ermittelt werden soll. Es können auch mehrere zusätzliche Formeln verwendet werden.

Beschränkungen:  

Die Funktion RangeSum behandelt alle nicht numerischen Werte als 0 (im Gegensatz zum Operator +).

Beispiele und Ergebnisse:  

Beispiele Ergebnisse
RangeSum (1,2,4)

Liefert 7

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

Liefert 0

Fügen Sie Ihrem Dokument das Beispielskript hinzu und führen Sie sie aus. Fügen Sie einem Arbeitsblatt in Ihrem Dokument dann mindestens diejenigen Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.

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

];

Die resultierende Tabelle zeigt die ausgegebenen Werte von MyRangeSum für jeden der Datensätze in der Tabelle an.
RangeID MyRangeSum
1 21
2 12
3 18
4 38
5 19
6 15

Beispiel mit Formel:

RangeSum (Above(MyField,0,3))

Liefert die Summe der drei Werte der Funktion MyField): anhand der Werte der aktuellen Zeile und der beiden Zeilen über der aktuellen Zeile. Wird das dritte Argument als 3 angegeben, liefert die Funktion Above() drei Werte, sofern genügend Zeilen oberhalb vorhanden sind, die als Input für die Funktion RangeSum() verwendet werden.

In Beispielen verwendete Daten:

Tipp: Deaktivieren Sie das Sortieren für MyField, damit Sie das gewünschte Ergebnis erhalten.
MyField RangeSum(Above(MyField,0,3))
10 10

2

12
8 20
18 28
5 31
9 32

In Beispielen verwendete Daten:

RangeTab:

LOAD * INLINE [

MyField

10

2

8

18

5

9

] ;