---
schema_version: "1"
id: 3839f016908ea7b2cc5ef9dd5b90f4aec258bbd262dcdd205f77e295b8a69288
title: Aggregate Functions
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/analytics/bi_dev_guide_saql/guides/reference/bi-saql-functions-aggregate.md
canonical_url: https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/guide/bi-saql-functions-aggregate.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 07f51b84b7169d8a310a847b767051c44c379a6714f25239f2328ea639fd2b71
products:
  - Analytics SAQL Developer Guide
  - analytics
---

# Aggregate Functions

Aggregate functions perform computations across all values of a grouped field.

If you don't precede an aggregate function by a `group by` statement, it treats each line as its own group. Using an aggregate function on an empty set returns null.

- **[avg() or average()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-avg.md)**


    Returns the average of the values of a measure field.

- **[count()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-cnt.md)**


    Returns the number of rows that match the query criteria.

- **[first()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-1st.md)**


    Returns the first value for the specified field.

- **[last()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-last.md)**


    Returns the last value in the tuple for the specified field.

- **[max()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-max.md)**


    Returns the maximum value of a dimension or measure field.

- **[median()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-med.md)**


    Returns the median value of a measure field.

- **[min()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-min.md)**


    Returns the minimum value of a dimension or measure field.

- **[sum()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-sum.md)**


    Returns the sum of a numeric field.

- **[unique()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-unq.md)**


    Returns the count of unique values.

- **[stddev()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-stdev.md)**


    Returns the standard deviation of the values in a field. Accepts measure fields (but not expressions) as input.

- **[stddevp()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-stdevp.md)**


    Returns the population standard deviation of the values in a field. Accepts measure fields as input but not expressions.

- **[var()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-var.md)**


    Returns the variance of the values in a field. Accepts measure fields as input but not expressions.

- **[varp()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-varp.md)**


    Returns the variance of the values in a field. Accepts measure fields as input but not expressions.

- **[percentile_cont()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-pc.md)**


    Calculates a percentile based on a continuous distribution of the column value.

- **[percentile_disc()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-pd.md)**


    Returns the value corresponding to the specified percentile.

- **[regr_intercept()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-ri.md)**


    Uses two numerical fields to calculate a trend line, then returns the y-intercept value. Use this function to find out the likely value of _field_y_ when _field_x_ is zero.

- **[regr_slope()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-rs.md)**


    Uses two numerical fields to calculate a trend line, then returns the slope. Use this function to learn more about the relationship between two numerical fields.

- **[regr_r2()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-regr2.md)**


    Uses two numerical fields to calculate R-squared, or goodness of fit. Use `regr_r2()` to understand how well the trend line fits your data.

- **[grouping()](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/concept/bi-saql-fn-agg-grouping.md)**


    Returns 1 if null dimension values are due to higher-level aggregates (which usually means the row is a subtotal or grand total), otherwise returns 0.

**See Also**

- [group-by](https://developer.salesforce.com/docs/analytics/bi-dev-guide-saql/guide/bi-saql-statement-groupby.md)
