Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Confluence
Teams
, (opens new window)

Requirement Yogi (Cloud)
Results will update as you type.
  • Getting Started - Tutorials
  • Best Practices
  • Administrator's guide
  • Features
    • Requirement types
    • Requirements search
    • Requirement dependencies
    • Traceability matrix
    • Report macro: Insert a matrix into a page
    • Coverage
    • Versioning
    • Transformation wizard: Transform your pages
    • Calculations
      • Use cases
      • Calculation syntax
      • Calculation macro
    • Linear documents: Manage requirements outside of tables
    • External properties
    • Excel Loop import: Import external properties
    • Configuration macro: Configure properties and documents
  • Requirement Yogi for Jira
  • Testing your requirements - Best practices
  • Integrations
  • REST APIs (Cloud)
  • Release notes
    Calendars
You‘re viewing this with anonymous access, so some content might be blocked.
/
Calculation syntax
Updated Oct 02, 2023

    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

    Syntax

    Output

    Description

    Examples

    number + number

    number

    Adds two numbers.

    • @Cost + ext@Taxes

    • @Width + 2.5

    number - number

    number

    Subtracts a number from another.

    • ext@Budget - ext@Spent

    • 150 - @Height

    number * number

    number

    Multiplies two numbers.

    • ext@Estimate * @Cost

    • 1.2 * @Cost

    number / number

    number

    Divides a number by another.

    • @Width / @Height

    • @Cost / 0.75

    number % number

    number

    Returns the remainder of the division between two numbers.

    • @Length % ext@Segment

    • ext@Man\ days % 10

     

    Aggregation functions

    Syntax

    Output

    Description

    Examples

    Syntax

    Output

    Description

    Examples

    COUNT(requirements: requirement[])

    number

    Counts requirements in a given list.

    • COUNT(from@Refines)

    • COUNT(to@Refines→from@Uses)

    SUM(expression: number, requirements: requirement[])

    number

    Computes the sum of a numeric expression evaluated on a given list of requirements.

    • SUM(@Cost, from@Refines)

    • SUM(ext@Estimate * @Cost, from@Refines)

    • SUM(1.2 * @Cost, from@Refines→from@Uses)

    AVG(expression: number, requirements: requirement[])

    number

    Computes the average of a numeric expression evaluated on a given list of requirements.

    • AVG(@Cost, from@Refines)

    • AVG(ext@Estimate, from@Refines→from@Uses)

    • AVG(ext@Man\ days * 150, from@Refines)

    MAX(expression: number, requirements: requirement[])

    number

    Computes the maximum of a numeric expression evaluated on a given list of requirements.

    • MAX(@Cost, from@Refines)

    • MAX(2.5 * ext@Estimate, from@Refines)

    • MAX(ext@Weight, from@Refines→from@Uses)

    MIN(expression: number, requirements: requirement[])

    number

    Computes the minimum of a numeric expression evaluated on a given list of requirements.

    • MIN(@Cost, from@Refines)

    • MIN(ext@Budget + 200, from@Refines)

    • MIN(ext@Estimate, from@Refines→from@Uses)

     

    Mathematical functions

    Syntax

    Output

    Description

    Examples

    Syntax

    Output

    Description

    Examples

    ABS(value: number)

    number

    Returns the absolute value of a number.

    • ABS(10.75)

    • ABS(ext@Cost)

    CEIL(value: number)

    number

    Returns the nearest integer greater than or equal to a number.

    • CEIL(25.3)

    • CEIL(@Width)

    FLOOR(value: number)

    number

    Returns the nearest integer less than or equal to a number.

    • FLOOR(3.1415)

    • FLOOR(1.3 * ext@Width)

    ROUND(value: number)

    number

    Rounds a number to the nearest integer.

    • ROUND(10.5)

    • ROUND(ext@Budget)

    SQRT(value: number)

    number

    Returns the square root of a number.

    • SQRT(25)

    • SQRT(@Width + @Height)

    MIN(value1: number, value2: number)

    number

    Returns the minimum value between two numbers.

    • MIN(@Cost, ext@Budget)

    • MIN(@Priority, 5)

    MAX(value1: number, value2: number)

    number

    Returns the maximum value between two numbers.

    • MAX(@Width, @Height)

    • MAX(0, @Priority)

    • POW(base: number, exponent: number)

    • POWER(base: number, exponent: number)

    number

    Returns a number raised to a power.

    • POW(2, 10)

    • POWER(@Width, 2)

     

    Conditional functions

    Syntax

    Output

    Description

    Examples

    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 true and another if it is false.

    • IF(@Cost > ext@Budget, ext@Budget - @Cost, 0)

    • IF(key ~ ‘TN-%’, ext@Tested AND @Delivered, @Delivered)

    • IF(@Priority > 3, ‘High priority’, ‘Low priority’)

    COUNTIF(requirements: requirement[], condition: boolean)

    number

    Counts the number of requirements meeting a given condition.

    • COUNTIF(from@Refines, ext@Estimate + 10 >= 25)

    • COUNTIF(to@Refines→from@Uses, @Cost < 1500)

    SUMIF(expression: number, requirements: requirement[], condition: boolean)

    number

    Computes the sum of a numeric expression evaluated on requirements meeting a given condition.

    • SUMIF(@Cost, from@Refines, key ~ ‘TECH-%’)

    • SUMIF(ext@Estimate * @Cost, from@Refines, @Width * 2 >= 120)

    AVGIF(expression: number, requirements: requirement[], condition: boolean)

    number

    Computes the average of a numeric expression evaluated on requirements meeting a given condition.

    • AVGIF(@Cost, from@Refines, @Priority = 1)

    • AVGIF(ext@Estimate, from@Refines→from@Uses, ext@Approved AND ext@Delivered)

    MAXIF(expression: number, requirements: requirement[], condition: boolean)

    number

    Computes the maximum value of a numeric expression evaluated on requirements meeting a given condition.

    • MAXIF(@Cost, from@Refines, @Author = ‘Jane’)

    • MAXIF(2.5 * ext@Estimate, from@Refines, 1.2 * @Cost > 500)

    MINIF(expression: number, requirements: requirement[], condition: boolean)

    number

    Computes the minimum value of a numeric expression evaluated on requirements meeting a given condition.

    • MINIF(@Cost, from@Refines, NOT ext@Delivered)

    • MINIF(ext@Budget + 200, from@Refines, @Tested)

    PERCENT(requirements: requirement[], condition: boolean)

    number

    Computes the percentage of requirements meeting a given condition.

    • PERCENT(child, ext@Status = ‘approved’)

    • PERCENT(child@Refines->child, ext@Cost > 1000)

     

    Requirement expressions

    Syntax

    Output

    Description

    Examples

    Syntax

    Output

    Description

    Examples

    relationship

    requirement[]

    Retrieves linked requirements (parent or child) for the current requirement.

    • from

    • to

    • from@Refines

    • to@Uses

    • relationship->relationship

    • relationship→relationship

    requirement[]

    Retrieves linked requirements (parent or child with multiple levels of depth) to the current requirement.

    • to→from@Uses

    • from@Refines→from@Uses

    {"serverDuration": 13, "requestCorrelationId": "496d10b4ffd5413c8a6d485680e843bb"}