# Average

Returns a value that is the average of all valid, non-blank values in a field.

## Format

Average ( field {; field...} )

## Parameters

`field`

- any related field, repeating field, or set of non-repeating fields; or an expression that returns a field, repeating field, or set of non-repeating fields.

Parameters in braces { } are optional.

## Data type returned

number

## Originated in version

6.0 or earlier

## Description

`Field`

can be any of the following:

- a repeating field
`(repeatingField)`

. - a field in matching related records specified by
`(table::field)`

, whether or not these records appear in a portal. - several non-repeating fields in a record
`(field1;field2;field3...)`

. - corresponding repetitions of repeating fields in a record
`(repeatingField1;repeatingField2;repeatingField3)`

, if the result is returned in a repeating field with at least the same number of repeats. - several fields in the first matching record specified by
`(table::field1;table::field2;...)`

. You can include fields from different tables`(table 1::field A;table 2::field B...)`

.

## Notes

- When a referenced field is a repeating field, the Average function returns the average of the values in the first repetition field, then the average of the values in the second repetition field, and so on. Therefore,
**(1+5+6)/3=4;(2+6)/2=4;7/1=7;8/1=8**.

## Example 1

A Student table has a portal showing scores for all exams a student has taken. The exam scores are in a table called Exams.

`Average(Exams::Score)`

returns the student's average score for all exams she has taken.

## Example 2

In the following examples:

- Field1 contains two repetitions with values of 1 and 2.
- Field2 contains four repetitions with values of 5, 6, 7, and 8.
- Field3 contains 6.

`Average(Field2)`

returns `6.5` when the calculation isn't a repeating field.

`Average(Field1;Field2;Field3)`

returns `4`, `4`, `7`, `8` when the calculation is a repeating field.