TOTAL Function
Syntax
Arguments
- subexpr
Any valid expression that includes a field or a combination of fields from the current table or set that specifies what you want to examine.
- over
Optional. When to use the function (instead of on every record).
- each
Optional. When to reset the value produced by the function to 0 (instead at the end of all records). The Group and Sub_Group are optional parameters that define the range of records to summarize, and may or may not be required, depending upon the context of the summary calculation. Possible values for GRP >Group and GRP >Sub_Group include:
- GRAND (all records)
- The name of the current table
- The name of a table in the current set
- The name of a grouping level that is defined in a report layout
- DETAIL (over the records in the detail section)
Description
Get the total of subexpression over group 'over' sampled each group 'each'
Discussion
A summary function that returns the Total_Value (or sum) of the Expression evaluated for a group of records. The expression is evaluated for all the records in the sub-group that are related to the current record of the group, and the value is returned. For example, to summarize the line-items in an invoice set, the GRP >Group parameter might be GRP -> INVOICE and the GRP >Sub_Group parameter GRP -> INV_ITEM. This means the summary operation includes only those child records in INV_ITEM related to the current parent record in the INVOICE table. To summarize all the records in a table or set, use the name "GRAND" as the GRP >Group name. The GRP >Group value GRP -> GRAND and GRP >Sub_Group value GRP -> INV_ITEM produce a summary result based on all invoices. This function is typically used in Reports to total records in a group, or in Forms to total records in a one-to-many child table.
Assume that an invoicing set consists of two tables. One holds the invoices ( INVOICE ), and the other holds each invoice's line-items ( INV_ITEM ):
- INVOICE
- >
- INV_NO
- CUST_ID INV_TOTAL
- I100
C001 and 10.00
- I101
C003 25.50
- I102
C001 100.75
- I103
C004 32.50
- I104
C002 110.25
- I105
C005 98.35
- INV_ITEM
>
- INV_NO
AMOUNT
- I100
4.50
- I100
5.50
- I101
25.50
- I102
3.25
- I102
35.25
- I102
62.25
- I103
32.50
- I104
110.25
- I105
98.35
INVOICE is related to INV_ITEM through a one-to-many link on the INV_NO field. To find the sum of line-item records for a particular invoice, use the following expression:
total(INV_ITEM->AMOUNT, GRP >INVOICE, GRP >INV_ITEM ) -> 100.75, if the current INV_NO is "I102"
To determine the sum of all line-item records for all INVOICE records, the expression is:
total(INV_ITEM->AMOUNT, GRP >GRAND, GRP >INV_ITEM ) -> 377.35
See Also