RangeAvg - Skript- und Diagrammfunktion
RangeAvg() liefert den Durchschnittswert einer Reihe. Die Funktion arbeitet entweder mit eine Reihe von Werten oder einer Formel.
Syntax:
RangeAvg(first_expr[, Expression])
Rückgabe Datentyp: numerisch
Argumente:
Die Argumente dieser Funktion können eine Inter-Record-Funktion enthalten, die auch wieder eine Liste der Werte liefert.
Argument | Beschreibung |
---|---|
first_expr | Die Formel oder das Feld mit den Daten, die gemessen werden sollen. |
Expression | Optionale Formeln oder Felder, in denen die zu messenden Daten enthalten sind. |
Beschränkungen:
Werden keine numerischen Werte gefunden, ist das Ergebnis NULL.
Beispiele und Ergebnisse:
Beispiele | Ergebnisse |
---|---|
RangeAvg (1,2,4) |
Liefert 2,33333333 |
RangeAvg (1,'xyz') | Liefert 1 |
RangeAvg (null( ), 'abc') | Liefert NULL |
Beispiel:
Fügen Sie Ihrer App ein Beispielskript hinzu und führen Sie dieses aus. Fügen Sie einem Arbeitsblatt in Ihrer App dann die Felder hinzu, die in der Ergebnisspalte aufgeführt sind, um das Ergebnis anzuzeigen.
RangeTab3:
LOAD recno() as RangeID, RangeAvg(Field1,Field2,Field3) as MyRangeAvg 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 MyRangeAvg für jeden der Datensätze in der Tabelle.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |
Beispiel mit Formel:
RangeAvg (Above(MyField),0,3))
Liefert den Mittelwert der Ergebnisse einer Menge aus drei Werten der MyField-Funktion berechnet anhand der Werte der aktuellen Zeile und zwei Zeilen vor 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 RangeAvg() verwendet werden.
In Beispielen verwendete Daten:
MyField | RangeAvg (Above(MyField,0,3)) | Comments |
---|---|---|
10 | 10 | Weil dies die oberste Zeile ist, besteht die Menge nur aus einem Wert. |
2 | 6 | Es ist nur eine Zeile vor dieser Zeile vorhanden, daher ist die Menge: 10,2. |
8 | 6.6666666667 | Das Äquivalent zu RangeAvg(10,2,8) |
18 | 9.333333333 | - |
5 | 10. 333333333 | - |
9 | 10.6666666667 | - |
RangeTab:
LOAD * INLINE [
MyField
10
2
8
18
5
9
] ;