4D v14.3Sum |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v14.3
Sum
|
Sum ( series ) -> Function result | ||||||||
Parameter | Type | Description | ||||||
series | Field, Array |
![]() |
Data for which to return the sum | |||||
Function result | Real |
![]() |
Sum for series | |||||
The Sum command returns the sum (total of all values) for series. If series is an indexed field, the index is used to total the values.
You can pass an array (one or two dimensions) in series. In this case, the array must be of the Integer, Longint or Real type.
If the command is correctly executed, the OK system variable is set to 1. If it is interrupted (for example if the user clicks on the Stop button of the progress thermometer), the OK variable is set to 0.
The following example is an object method for a vTotal variable placed in a form. The object method assigns the sum of all salaries to vTotal:
vTotal:=Sum([Employees]Salary)
The following method is called to print the records in the selection and to activate break processing:
ALL RECORDS([Employees])
ORDER BY([Employees];[Employees]LastNm;>)
BREAK LEVEL(1)
ACCUMULATE([Employees]Salary)
OUTPUT FORM([Employees];"PrintForm")
PRINT SELECTION([Employees])
Note: The parameter to the BREAK LEVEL command should be equal to the number of breaks in your report. For more information about break processing, refer to the printing commands.
This example gets the sum of all the values placed in an array:
ARRAY REAL($ArrGrades;0)
QUERY([Exams];[Exams]Exam_Date=!01/07/11!)
SELECTION TO ARRAY([Exams]Exam_Grade;$ArrGrades)
vSum:=Sum($ArrGrades)
Product: 4D
Theme: On a Series
Number:
1
Modified: 4D v11 SQL Release 3
Modified: 4D v13
ACCUMULATE
Average
BREAK LEVEL
Max
Min
ORDER BY
PRINT SELECTION
Subtotal
4D Language Reference ( 4D v14 R2)
4D Language Reference ( 4D v14 R3)
4D Language Reference ( 4D v13.5)
4D Language Reference ( 4D v14.3)
4D Language Reference ( 4D v14 R4)
Inherited from : Sum ( 4D v12.4)