Skip to content

AVG

Description

AVG takes all the values you provide in between a set of brackets, each separated by a comma, and gives you their average.

AVG can also return the average of values that are produced by another function.

Examples

p is Person
AVG(p.base_fee, p.transaction_fee, p.report_fee)

This expression calculates the average of the base fee, the transaction fee, and the report fee regarding a person in a case.

AVG(
    get_properties_from_instances(
        instances(AccountHolder), personal_income
    )
)

This expression works in a couple of steps to bring you the result:

  • AVG( .... ) is the overarching function, of which you want the result. In between its brackets sits another function.
  • get_properties_from_instances(.......) is the function inside the AVG brackets, which goes and fetches the property of the instances you specify.
  • instances(AccountHolder, personal_income) returns the personal income of all the accountholders.
  • These three combined, give you the average of the personal incomes for all the account holders in the case.

Empty and unknown values

An extra argument next to the list is not a fallback, it takes part in the calculation like any other value, so AVG([1, 2], 0) returns 1 rather than 1.5.

AVG returns unknown when the list is empty, and when any value in the list is unknown. The expression around it becomes unknown rather than failing, and a rule that needs the result asks for the missing value. Use AVG_OF_ANY to skip the unknown values instead, which returns 0 when nothing at all is known.