| 4D v20.1Average | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 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 v20)
	
	
	4D Programmiersprache ( 4D v20.1)
	
	
	
 Fehler melden
Fehler melden