4D v16.3Average |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Average
|
Average ( Werte {; AttributPfad} ) -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Werte | Feld, Array |
![]() |
Werte, deren Durchschnitt ermittelt werden soll | |||||
AttributPfad | Text |
![]() |
Pfad des Attributs, dessen Durchschnitt zurückgegeben werden soll | |||||
Funktionsergebnis | Zahl |
![]() |
Arithmetisches Mittel (Durchschnitt) von Objekt | |||||
Die Funktion Average gibt den Durchschnitt von Werte zurück. Ist Werte ein indiziertes Feld, wird der Index für die Berechnung verwendet.
Im Parameter Werte können Sie ein Array (ein- oder zweidimensional) übergeben. Das Array muss vom Typ Ganzzahl, Lange Ganzzahl oder Zahl sein.
Diese Funktion erlaubt den optionalen Parameter AttributPfad vom Typ Text, wenn Werte ein Feld oder eine Variable vom Typ Objekt ist. Hier können Sie den Pfad des Attributs zum Berechnen übergeben. Verwenden Sie die Standard Notation mit Punkt für Pfade zu eingebetteten Attributen, z.B. "company.address.number". Beachten Sie, dass Attributnamen vom Typ Objekt zwischen Groß- und Kleinschreibung unterscheiden.
Nur Attributwerte vom Typ Zahl werden berechnet. Gibt es im Attributpfad Werte, die nicht vom Typ Zahl sind, werden sie ignoriert.
Bei korrekt ausgeführter Funktion wird die Systemvariable OK auf 1 gesetzt. Wird sie unterbrochen, z.B. weil der Benutzer auf die Schaltfläche Stopp des Ablaufbalkens geklickt hat, wird die Variable OK auf 0 gesetzt.
Folgendes Beispiel legt die Variable vAverage im Umbruchteil U0 eines Ausgabeformulars fest. Die Codezeile ist die Objektmethode für vAverage. Sie wird erst bei der Umbruchebene U0 ausgeführt:
vAverage:=Average([Employees] Salary)
Folgende Methode druckt die Datensätze in der Auswahl und aktiviert den Umbruch:
ALL RECORDS([Employees])
ORDER BY([Employees];[Employees]LastNm;>)
BREAK LEVEL(1)
ACCUMULATE([Employees]Salary)
FORM SET OUTPUT([Employees];"PrintForm")
PRINT SELECTION([Employees])
Hinweis: Der Parameter für den Befehl BREAK LEVEL sollte gleich sein mit der Anzahl der Umbrüche in Ihrem Bericht. Weitere Informationen dazu finden Sie im Kapitel Drucken.
Dieses Beispiel erhält den Durchschnitt der 15 ersten "Grades" in der Auswahl:
ARRAY REAL($ArrGrades;0)
QUERY([Exams];[Exams]Exam_Date=!01/07/11!)
ORDER BY([Exams];[Exams]Exam_Grade;<)
SELECTION TO ARRAY([Exams]Exam_Grade;$ArrGrades)
ARRAY REAL($ArrGrades;15)
vAverage:=Average($ArrGrades)
Ihre Tabelle [Customer] enthält ein Objektfeld "full_Data" mit folgenden Daten:
Sie können folgende Berechnungen durchführen:
C_REAL($vAvg)
ALL RECORDS([Customer])
$vAvg:=Average([Customer]full_Data;"age")
//$vAvg ist 44,46
C_LONGINT($vTot)
$vTot:=Sum([Customer]full_Data;"Children[].age")
//$vTot ist 105
ACCUMULATE
BREAK LEVEL
Max
Min
ORDER BY
PRINT SELECTION
Subtotal
Sum
Produkt: 4D
Thema: Berechnungen
Nummer:
2
Geändert: 4D v11 SQL Release 3
Geändert: 4D v13
Geändert: 4D v16
4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)