Nested aggregate functions and operators

Nesting an aggregate function or operator inside of an aggregate function enables you to combine the capabilities of both to create one result. The nested function or operator is executed first, and then the enclosing operator is executed.

For example, the following nested function calculates the rate of the switch resource and sums the calculated rates across all the URIs pointed to by the expanded wildcard:

Sum(Rate(<uri-with-wildcard>))

Rules

  • You can nest up to one aggregate function or aggregate operator inside an aggregate operator.

    For example: Min(CountOverTime(<uri>)) and Min(Sum(<uri>)) are supported.

  • You cannot nest an aggregate operator or aggregate function inside an aggregate function.

    For example, Rate(Sum(<uri>)) and CountOverTime(Min(<uri>)) are not supported.

  • You cannot nest two of the same aggregate operators.

    For example, Sum(Sum(<uri>)) is not supported.