This page describes the syntax to perform calculations using formulas.
You can also the new visual editor if you prefer!
Note: When writing calculation formulas, remember that they are evaluated on a per-requirement basis.
Note: If a property name contains space characters, you can escape them using a backslash \.
Arithmetic operations
|
Syntax |
Output |
Description |
Examples |
|---|---|---|---|
|
number + number |
number |
Adds two numbers. |
|
|
number - number |
number |
Subtracts a number from another. |
|
|
number * number |
number |
Multiplies two numbers. |
|
|
number / number |
number |
Divides a number by another. |
|
|
number % number |
number |
Returns the remainder of the division between two numbers. |
|
Aggregation functions
|
Syntax |
Output |
Description |
Examples |
|---|---|---|---|
|
COUNT(requirements: requirement[]) |
number |
Counts requirements in a given list. |
|
|
SUM(expression: number, requirements: requirement[]) |
number |
Computes the sum of a numeric expression evaluated on a given list of requirements. |
|
|
AVG(expression: number, requirements: requirement[]) |
number |
Computes the average of a numeric expression evaluated on a given list of requirements. |
|
|
MAX(expression: number, requirements: requirement[]) |
number |
Computes the maximum of a numeric expression evaluated on a given list of requirements. |
|
|
MIN(expression: number, requirements: requirement[]) |
number |
Computes the minimum of a numeric expression evaluated on a given list of requirements. |
|
Mathematical functions
|
Syntax |
Output |
Description |
Examples |
|---|---|---|---|
|
ABS(value: number) |
number |
Returns the absolute value of a number. |
|
|
CEIL(value: number) |
number |
Returns the nearest integer greater than or equal to a number. |
|
|
FLOOR(value: number) |
number |
Returns the nearest integer less than or equal to a number. |
|
|
ROUND(value: number) |
number |
Rounds a number to the nearest integer. |
|
|
SQRT(value: number) |
number |
Returns the square root of a number. |
|
|
MIN(value1: number, value2: number) |
number |
Returns the minimum value between two numbers. |
|
|
MAX(value1: number, value2: number) |
number |
Returns the maximum value between two numbers. |
|
|
number |
Returns a number raised to a power. |
|
Conditional functions
|
Syntax |
Output |
Description |
Examples |
|---|---|---|---|
|
IF(condition: boolean, success: T, failure: T) Where T can be one of the following: number, boolean or string |
T
|
Returns one value if a condition is |
|
|
COUNTIF(requirements: requirement[], condition: boolean) |
number |
Counts the number of requirements meeting a given condition. |
|
|
SUMIF(expression: number, requirements: requirement[], condition: boolean) |
number |
Computes the sum of a numeric expression evaluated on requirements meeting a given condition. |
|
|
AVGIF(expression: number, requirements: requirement[], condition: boolean) |
number |
Computes the average of a numeric expression evaluated on requirements meeting a given condition. |
|
|
MAXIF(expression: number, requirements: requirement[], condition: boolean) |
number |
Computes the maximum value of a numeric expression evaluated on requirements meeting a given condition. |
|
|
MINIF(expression: number, requirements: requirement[], condition: boolean) |
number |
Computes the minimum value of a numeric expression evaluated on requirements meeting a given condition. |
|
|
PERCENT(requirements: requirement[], condition: boolean) |
number |
Computes the percentage of requirements meeting a given condition. |
|
Requirement expressions
|
Syntax |
Output |
Description |
Examples |
|---|---|---|---|
|
relationship |
requirement[] |
Retrieves linked requirements (parent or child) for the current requirement. |
|
|
requirement[] |
Retrieves linked requirements (parent or child with multiple levels of depth) to the current requirement. |
|
|
DISTINCT(requirements: requirement[]) |
requirement[] |
Filters a requirement list to keep only distinct requirements. |
|
|
FILTER(requirements: requirement[], condition: boolean) |
requirement[] |
Filters a requirement list to keep only requirements meeting a given condition. |
|
Boolean expressions
|
Syntax |
Output |
Description |
Examples |
|---|---|---|---|
|
NOT boolean |
boolean |
Applies a logical NOT to a boolean expression. |
|
|
boolean AND boolean |
boolean |
Applies a logical AND between two boolean expressions. |
|
|
boolean OR boolean |
boolean |
Applies a logical OR between two boolean expressions. |
|
|
boolean |
Indicates whether two expressions are equal. |
|
|
boolean |
Indicates whether two expressions are different. |
|
|
number > number |
boolean |
Indicates whether a numeric expression is greater than another. |
|
|
number >= number |
boolean |
Indicates whether a numeric expression is greater or equal to another. |
|
|
number < number |
boolean |
Indicates whether a numeric expression is less than another. |
|
|
number <= number |
boolean |
Indicates whether a numeric expression is less or equal to another. |
|
|
boolean |
Indicates whether a string expression matches a string pattern. |
|
|
expression IS NULL |
boolean |
Indicates whether an expression is null. |
|
|
expression IS NOT NULL |
boolean |
Indicates whether an expression is not null. |
|