Tableau CRM SAQL Developer Guide
Summer '26 (API version 67.0)
Spring '26 (API version 66.0)
Winter '26 (API version 65.0)
Summer '25 (API version 64.0)
Spring '25 (API version 63.0)
Winter '25 (API version 62.0)
Summer '24 (API version 61.0)
Spring '24 (API version 60.0)
Winter '24 (API version 59.0)
Summer '23 (API version 58.0)
Spring '23 (API version 57.0)
Winter '23 (API version 56.0)
Summer '22 (API version 55.0)
Spring '22 (API version 54.0)
Winter '22 (API version 53.0)
Summer '21 (API version 52.0)
Spring '21 (API version 51.0)
Winter '21 (API version 50.0)
Summer '20 (API version 49.0)
Spring '20 (API version 48.0)
Winter '20 (API version 47.0)
Summer '19 (API version 46.0)
Spring '19 (API version 45.0)
Winter '19 (API version 44.0)
Summer '18 (API version 43.0)
Spring '18 (API version 42.0)
Winter '18 (API version 41.0)
Summer '17 (API version 40.0)
Spring '17 (API version 39.0)
Winter '17 (API version 38.0)
Summer '16 (API version 37.0)
Spring '16 (API version 36.0)
Winter '16 (API version 35.0)
avg() or average()
count()
first()
last()
max()
median()
min()
sum()
unique()
stddev()
stddevp()
var()
varp()
percentile_cont()
percentile_disc()
regr_intercept()
regr_slope()
regr_r2()
grouping()
Windowing Functions
coalesce
Newer Version Available
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()
Returns the average of the values of a measure field. -
count()
Returns the number of rows that match the query criteria. -
first()
Returns the first value for the specified field. -
last()
Returns the last value in the tuple for the specified field. -
max()
Returns the maximum value of a measure field. -
median()
Returns the median value of a measure field. -
min()
Returns the minimum value of a measure field. -
sum()
Returns the sum of a numeric field. -
unique()
Returns the count of unique values. -
stddev()
Returns the standard deviation of the values in a field. Accepts measure fields (but not expressions) as input. -
stddevp()
Returns the population standard deviation of the values in a field. Accepts measure fields as input but not expressions. -
var()
Returns the variance of the values in a field. Accepts measure fields as input but not expressions. -
varp()
Returns the variance of the values in a field. Accepts measure fields as input but not expressions. -
percentile_cont()
Calculates a percentile based on a continuous distribution of the column value. -
percentile_disc()
Returns the value corresponding to the specified percentile. -
regr_intercept()
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()
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()
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()
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.