4D v16.3

Average

Home

 
4D v16.3
Average

Average 


 

Average ( Werte {; AttributPfad} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Werte  Feld, Array in Werte, deren Durchschnitt ermittelt werden soll
AttributPfad  Text in Pfad des Attributs, dessen Durchschnitt zurückgegeben werden soll
Funktionsergebnis  Zahl in 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



Siehe auch 

ACCUMULATE
BREAK LEVEL
Max
Min
ORDER BY
PRINT SELECTION
Subtotal
Sum

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Berechnungen
Nummer: 2

Dieser Befehl ändert die Systemvariable OKThis command can be run in preemptive processes

 
GESCHICHTE 

New
Geändert: 4D v11 SQL Release 3
Geändert: 4D v13
Geändert: 4D v16

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)