Aggregate Functions
Aggregate functions calculate values based on two factors: the input cell, which is usually, but not always a data field, and the report section that the function is located, relative to the input. The location of the function determines which, and how many cell values will be sent to the input. For example, an AggCount() function in a Group Footer will count the values in the group, but that same function in a Report Footer will count the values for the entire report.
Note: Aggregate functions cannot be used in conditional formulas or ExpressView formula columns.
Note: Aggregate functions are not capable of summarizing data within static sections of a report, such as the page and report headers and footers. For more information, please see the article on static sections.
Advanced Users - Aggregating for One-to-Many Relationships
As of v2016.3.8, aggregate functions have an optional argument that indicates how to count aggregates for one-to-many relationships. This argument indicates whether aggregation should occur at the record level or entity level. Pass True() to force aggregation to occur for every record, regardless of whether or not the record represents a unique instance of the entity that is being aggregated. By default, aggregation occurs only for every unique instance of the entity being aggregated, not for repeat values that occur from a one-to-many data relationship.
For example, suppose two data objects are being joined on a field that is not unique for each record (e.g., transaction account number). If a transaction account number exists that appears twice or more in succession and the optional second argument for the aggregate function (e.g., AggSum()) is set to False() or left at its default value, then the subsequent rows will not be included in the aggregation because they are interpreted as duplicates of the unique entity. However, if the second argument of AggSum() is set to True(), then every record, including all duplicates, will be included in the calculation.
Most users can choose to ignore this option by simply omitting the argument.
AggAvg
Description | Returns the average of the values in a group. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggAvg({OrderDetail.Quantity}) – returns the average quantity of sales orders. |
AggCount
Description | Returns the number of unique entities in a Data Category. |
Remark | The AggCount() function uses the Data Category, not the Data Field. For example, the function AggCount({Officer.Salary}) counts the number of Officers. You could replace Officer.Salary with any other field in the Officer Data Category and the function would still count the number of officers. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggCount({Orders.ProductPrice}) – returns the number of sales orders. |
AggDistinctCount
Description | Returns the number of unique values in a group. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
Optional third argument (v2018.1.8+) indicates whether to count
|
Example | AggDistinctCount({OrderDetail.Quantity}) – returns the number distinct quantities in an order. |
AggMax
Description | Returns the maximum value in a group. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggMax({OrderDetail.Discount}) – returns the largest discount. |
AggMin
Description | Returns the minimum value in a group. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggMin({OrderDetail.Discount}) – returns the smallest discount. |
AggSum
Description | Returns the sum of the values in a group. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggSum({OrderDetail.Quantity}) – returns the total quantity of units ordered. |
RunningSum
Description | Returns a running total of the input cell. |
Remark | Takes one, two, or three input: The cell you want to sum. Optional second argument of a Data Field or Category. The running sum will reset to 0 whenever there is a new value for this Data Field or Category. Optional third argument (v2016.3.8+) indicates whether to count:
|
Examples | 1. RunningSum({Employees.Salary}) – returns running total of all the employee’s salary. 2. RunningSum({Employees.Salary}, {Employees.Region}) – returns a running total of employee’s salary for each region. 3. RunningSum({Employees.Salary}, {Company}) – returns a running total of employee’s salary for each Company. |
AggMedian
(v2017.2+)
Description | Returns the median, or the middle value, of a data set. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggMedian({OrderDetail.Quantity}) - returns the median order quantity. |
AggMode
(v2017.2+)
Description | Returns the mode, or the value that appears most often, of a data set. |
Remark | Accepts data fields or cell references. Optional second argument (v2016.3.8+) indicates whether to count:
|
Example | AggMode({OrderDetail.Quantity}) – returns the mode of order quantity. |
AggStandardDeviation
(v2017.2+)
Description | Returns the standard deviation (SD) of a data set. SD is used to quantify the spread of the values in a data set. A lower SD indicates that values are close to the mean, and a higher SD indicates that values are more spread. |
Remark | Accepts data fields or cell references. Takes one, two, or three input: The cell to get the standard deviation Optional second argument indicates whether to calculate:
Optional third argument (v2016.3.8+) indicates whether to count:
|
Example | AggStandardDeviation({OrderDetail.Quantity}) – returns the standard deviation of order quantities. |
AggVariance
(v2017.2+)
Description | Returns the variance of a data set. Variance is used to quantify the spread of the values in a data set, and is equal to the square of the standard deviation. Variance weighs outliers more heavily than standard deviation. |
Remark | Accepts data fields or cell references. Takes one, two, or three input: The cell to get the variance Optional second argument indicates whether to calculate:
Optional third argument (v2016.3.8+) indicates whether to count:
|
Example | AggVariance({OrderDetail.Quantity}) – returns the variance of order quantities. |