AVE(recordset, value [ , expression ] [, KEYED ] [, UNORDERED | ORDERED( bool ) ] [, STABLE | UNSTABLE ] [, PARALLEL [ ( numthreads ) ] ] [, ALGORITHM( name ) ] )
AVE(valuelist)
recordset | The set of records to process. This may be the name of a dataset or a record set derived from some filter condition, or any expression that results in a derived record set. This also may be the keyword GROUP to indicate averaging the field values in a group. |
value | The expression to find the average value of. |
expression | Optional. A logical expression indicating which records to include in the average. Valid only when the recordset parameter is the keyword GROUP to indicate averaging the elements in a group. |
KEYED | Optional. Specifies the activity is part of an index read operation, which allows the optimizer to generate optimal code for the operation. |
UNORDERED | Optional. Specifies the output record order is not significant. |
ORDERED | Specifies the significance of the output record order. |
bool | When False, specifies the output record order is not significant. When True, specifies the default output record order. |
STABLE | Optional. Specifies the input record order is significant. |
UNSTABLE | Optional. Specifies the input record order is not significant. |
PARALLEL | Optional. Try to evaluate this activity in parallel. |
numthreads | Optional. Try to evaluate this activity using numthreads threads. |
ALGORITHM | Optional. Override the algorithm used for this activity. |
name | The algorithm to use for this activity. Must be from the list of supported algorithms for the SORT function's STABLE and UNSTABLE options. |
valuelist | A comma-delimited list of expressions to find the average value of. This may also be a SET of values. |
Return: AVE returns a single value.
The AVE function either returns the average value (arithmetic mean) from the specified recordset or the valuelist. It is defined to return zero if the recordset is empty.
Example:
AvgVal1 := AVE(4,8,16,2,1); //returns 6.2
SetVals := [4,8,16,2,1];
AvgVal2 := AVE(SetVals); //returns 6.2
OUTPUT(AvgVal1);
OUTPUT(AvgVal2);