...
Mathematical Function | Description | Example |
---|---|---|
| Rounds the passed value to the specified number of significant decimal digits. |
|
| Rounds the passed value to the nearest lower integer. |
|
| Rounds the passed value to the nearest higher integer. |
|
| Gives the absolute value, i. e. the positive value. |
|
| Normalises negative values to -1, zero to 0, and positive values to 1. |
|
| Calculates the remainder of the dividend when divided by the divisor. |
|
Aggregating Function | Description | Example |
| Sum of the passed values |
|
| Average of the passed values |
|
| Smallest of the passed values |
|
| Largest of the passed values |
|
Relation Function | Description | Example |
| Retrieves the values of the passed field from all subtasks. Must be aggregated before using outside of a function. |
|
| Retrieves the values of the passed field from the parent of a subtask. |
|
| Retrieves the values of the passed field from all issues in an epic. Must be aggregated before using outside of a function. |
|
| Retrieves the values of the passed field from the epic of an issue. |
|
| Retrieves the values of the passed field from all linked issues. Must be aggregated before using outside of a function. |
|
Advanced
More complex use cases
Setting a Boundary on Values
You need to ensure the value of the Calculated Field “Price” stays above 0, but is at most 20. A minimum bound can be set by using max
and a maximum using min
. The price is calculated using the “Net Price” field and the “VAT” field.
We first need to calculate the price, which can be done using
"Net Price” + VAT%
Then, we want to set the upper bound of 20, so we get
min(”Net Price” + VAT%, 20)
At last, we need the lower bound, so we get
max(min(”Net Price”) + VAT%, 20), 1)
Ensuring Entered Numbers Are Integers
You have a field requesting the “Number of Participants” on a transition screen. Your subsequent calculations require this number to be a whole number. To ensure this, you use a Calculated Field Post Function on the same transition.
The post function will write to the “Number of Participants” field
We want to operate on the same field, so we start with the formula
“Number of Participants”
Then, we want to make sure that it is a whole number. We do this by rounding, we round up in this case:
ceiling(”Number of Participants”)
If the entered number is already a whole number, it is unchanged. However, if it is not, and someone enters 15.3
for example, it is rounded up to the next whole number, and we get 16
.
Because we write the result to the same field during the transition, i. e. “Number of Participants”, the same field is adjusted, and we have successfully sanitised the input.
Multiple Values
The mathematical functions can also operate on the multiple values that are returned by the relation functions. That way you can for example round all the values returned by a subtask.
avg(round(subtasks('Number of Affected Systems'), 0))
The functions accept the lists in the following ways:
round(number_list, decimals)
floor(number_list)
ceiling(number_list)
abs(number_list)
signum(number_list)
mod(dividend_list, divisor)
The function then is applied separately to each element in the list, and a list with the new values is returned. The mathematical functions do not reduce the list in size, the only way to do that is to use an aggregating function.