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ückgabe Datentyp: numerisch
Argumente:
Das Argument dieser Funktion kann durch „Inter-Record-Funktionen“ berechnet werden, die selbst auch wieder eine Anzahl von Werten liefern.
- first_expr: Die Formel oder das Feld mit den Daten, deren Summe ermittelt werden soll.
- Expression: Optionale Formeln oder Felder, die den Datenbereich enthalten, der summiert 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:
Beispiel | Ergebnis |
---|---|
RangeSum (1,2,4) |
Liefert 7 |
RangeSum (5,'abc') | Liefert 5 |
RangeSum (null( )) |
Liefert 0 |
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.
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
] ;
Beispiel: (in Tabellenform)
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 |