Math Functions
Overview
The math functions (minimum, maximum, average) allow you to perform statistical calculations on numeric fields and compare field values against these calculated statistics. These functions are useful for identifying outliers, finding issues above or below certain thresholds, and performing statistical analysis on your issue data.
Functions
minimum
Returns the minimum value of a numeric field from issues matching the specified JQL subquery.
Syntax:
"field_name" operator minimum("subquery")
Parameters:
- subquery (required): A valid JQL query that defines the set of issues to evaluate
Example:
"Story Points" > minimum("project = DEVELOPMENT")
Finds all issues where Story Points is greater than the minimum Story Points value in the DEVELOPMENT project.
maximum
Returns the maximum value of a numeric field from issues matching the specified JQL subquery.
Syntax:
"field_name" operator maximum("subquery")
Parameters:
- subquery (required): A valid JQL query that defines the set of issues to evaluate
Example:
"Story Points" < maximum("project = DEVELOPMENT")
Finds all issues where Story Points is less than the maximum Story Points value in the DEVELOPMENT project.
average
Returns the average (mean) value of a numeric field from issues matching the specified JQL subquery.
Syntax:
"field_name" operator average("subquery")
Parameters:
- subquery (required): A valid JQL query that defines the set of issues to evaluate
Example:
"Story Points" > average("project = DEVELOPMENT")
Finds all issues where Story Points is greater than the average Story Points value in the DEVELOPMENT project.
Supported Operators
All math functions support: =, !=, >, >=, <, <=
Examples
Finding issues with story points above project average
"Story Points" > average("project = DEVELOPMENT")
Finding issues with story points below project maximum
"Story Points" < maximum("project = DEVELOPMENT")
Finding issues with story points equal to project minimum
"Story Points" = minimum("project = DEVELOPMENT")
Finding issues with story points above average in a specific component
"Story Points" > average("component = 'Frontend'")
Finding issues with effort above average for high-priority issues
"Effort" > average("priority = High")
Finding issues with story points above average of completed issues
"Story Points" > average("status = Done")
Legacy names (min, max, avg)
The functions were originally named min, max, and avg. Those names still work and remain fully supported for existing saved filters and dashboards — min("…") behaves identically to minimum("…"), and likewise for max/maximum and avg/average.
However, min, max, and avg are all reserved keywords in JQL, so when you use them you must wrap them in double quotes, e.g.:
"Story Points" > "min"("project = DEV")
The unquoted aliases (minimum, maximum, average) are recommended for new queries: they don't collide with reserved keywords, they don't need quoting, and they appear in JQL auto-complete.
Usage Notes
- These functions work exclusively with numeric fields (number fields, story points, etc.)
- Results are calculated in real-time based on current field values
- Empty field values are excluded from calculations
Performance Considerations
- Large subqueries may impact performance; use specific filters when possible
- Use
IS NOT EMPTYfilters in subqueries to reduce the number of issues processed - Statistics are calculated in real-time, so changes to field values immediately affect query results
Error Handling
The functions will return an error if:
- The specified field name is not valid or not a numeric field
- The JQL subquery is invalid or returns no results
- All issues in the subquery have empty values for the field being calculated