Calculation syntax
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. |
|