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:
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 Durchschnitt ermittelt werden soll.
- Expression: Optionale Formeln oder Felder, in denen die Daten enthalten sind, deren Durchschnitt ermittelt werden soll. Es können auch mehrere zusätzliche Formeln verwendet werden.
Beschränkungen:
Werden keine numerischen Werte gefunden, ist das Ergebnis NULL.
Beispiele:
Beispiel | Ergebnis |
---|---|
RangeAvg (1,2,4) |
Liefert 2,33333333 |
RangeAvg (1,'xyz') | Liefert 1 |
RangeAvg (null( ), 'abc') | Liefert NULL |
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.
MyField | RangeAvg (Above(MyField,0,3)) | Erklärung |
---|---|---|
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 | - |
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, 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 resultierende Tabelle zeigt die ausgegebenen Werte von MyRangeAvg für jeden der Datensätze in der Tabelle an.
RangeID | MyRangeAvg |
---|---|
1 | 7 |
2 | 4 |
3 | 6 |
4 | 12.666 |
5 | 6.333 |
6 | 5 |