AVERAGE-Befehl
Berechnet den arithmetischen Mittelwert numerischer Ausdrücke oder Felder.
AVERAGE [ExpressionList] [Scope] [FOR lExpression1] [WHILElExpression2]
[TO VarList | TO ARRAY ArrayName] [NOOPTIMIZE]
Parameter
ExpressionList
Gibt die Ausdrücke an, aus denen der Mittelwert berechnet werden soll. ExpressionList kann sowohl eine Liste von Tabellenfeldern, deren Namen durch Kommata voneinander getrennt sind, als auch eine Liste numerischer Ausdrücke sein, in denen Tabellenfelder angegeben sind.Scope
Gibt den Datensatz oder den Bereich von Datensätzen an, für den der Mittelwert berechnet werden soll. Nur die Datensätze, die in diesen Bereich fallen, werden bei der Berechnung des Mittelwertes berücksichtigt. Die Bereichsklauseln sind: ALL, NEXT nRecords, RECORD nRecordNumber und REST. Der Standardbereich für AVERAGE ist ALL, also alle Datensätze.Befehle, bei denen ein Geltungsbereich (Scope) angegeben ist, funktionieren nur für die Tabelle des aktiven Arbeitsbereichs.
FOR lExpression1
Legt eine Bedingung fest, die dafür sorgt, dass nur die Datensätze berücksichtigt werden, die der in lExpression angegebenen logischen Bedingung genügen. Mit diesem Argument können Sie die nicht erwünschten Datensätze herausfiltern.Ist lExpression ein optimierbarer Ausdruck, wird von der Rushmore-Technologie eine AVERAGE FOR-Abfrage optimiert. Die beste Leistung erreichen Sie, indem Sie in der FOR-Klausel einen optimierbaren Ausdruck verwenden. Weitere Informationen zu mit Hilfe von Rushmore optimierbaren Ausdrücken finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.
WHILE lExpression2
Gibt an, dass Datensätze für den Mittelwert nur berücksichtigt werden, solange der logische Ausdruck lExpression2 das Ergebnis Wahr (.T.) liefert.TO VarList
Gibt die Liste der Speichervariablen oder Arrayelemente an, in denen die Ergebnisse der Mittelwertberechnung gespeichert werden sollen.TO ARRAY ArrayName
Gibt das eindimensionale Array an, in dem die Ergebnisse der Mittelwertberechnung gespeichert werden. Das eindimensionale Array kann angelegt werden, bevor AVERAGE ausgeführt wird.Ist das in AVERAGE angegebene Array nicht vorhanden, wird es von Visual FoxPro automatisch erstellt. Ist das Array vorhanden, aber nicht groß genug, um alle Ergebnisse aufnehmen zu können, wird es von Visual FoxPro automatisch entsprechend vergrößert.
NOOPTIMIZE
Deaktiviert die Rushmore-Optimierung von AVERAGE. Weitere Informationen finden Sie unter SET OPTIMIZE und Verwenden von Rushmore zum Beschleunigen des Datenzugriffs.
Hinweise
Solange Sie keine optionale Ausdrucksliste angeben, wird für alle numerischen Felder in der ausgewählten Tabelle der Mittelwert angegeben. Das Ergebnis wird auf dem Bildschirm angezeigt, wenn SET TALK auf ON steht. Ist SET HEADINGS auf ON, werden die Feldnamen oder der Ausdruck, der die Feldnamen enthält, über den Ergebnissen angezeigt.
Beispiel
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE orders && Open order table
CLEAR
AVERAGE Order_Amt && Calcuate averages of all orders
AVERAGE Order_Amt TO gnAvg && Store average to memory variable
? 'Average order amount: '
?? gnAvg && Display the average again
Siehe auch
CALCULATE | DIMENSION | SET HEADINGS | SUM | Verwenden von Rushmore zum Beschleunigen des Datenzugriffs | SET OPTIMIZE