Zu Hauptinhalt springen

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])

Return data type: numerisch

Arguments:  

Die Argumente dieser Funktion können eine Inter-Record-Funktion enthalten, die auch wieder eine Liste der Werte liefert.

Argumente
ArgumentBeschreibung
first_exprDie Formel oder das Feld mit den Daten, die gemessen werden sollen.
ExpressionOptionale Formeln oder Felder, in denen die zu messenden Daten enthalten sind.

Limitations:  

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

Examples and results:  

Beispiele
Beispiele Ergebnisse
RangeSum (1,2,4)

Liefert 7

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

Liefert 0

Example:  

Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App 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 entstehende Tabelle enthält die zurückgegebenen Werte von MyRangeSum für jeden der Datensätze in der Tabelle.

Ergebnistabelle
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.
Beispieldaten
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

] ;