The evaluate data macro allows evaluation of mathematical expressions using data in number data macros.

More information on the evaluate data macro

Basic Mathematics

The following calculates the value of a fraction, initially 1/2.

Numerator: {number-data:Numerator|decimal=true}1{number-data}
Denominator: {number-data:Denominator|decimal=true}2{number-data}

Result: {eval-data:Result|format=#0.0}${Numerator}/${Denominator}{eval-data}
Percentage: {eval-data:Percentage|format=##0\%}round(${Result} * 100, 0){eval-data}

Observation: The Basic Mathematics example, with the formatting by the java.text.DecimalFormat rules shown in the example from Atlassian, yields the result 5000%. To obtain 50 it was necessary to remove a slash (\) and percent symbol (%) which is the correct percentage markup and shows the percent sign.

The number data macro establishes the numerator. Enter a new value in the Edit Contents view.


1


The number data macro establishes the denominator. Enter a new value in the Edit Contents view.


2


The evaluate data macro displays the result:


${Numerator}/${Denominator}


The evaluate data macro displays the percentage:


round(${Result} * 100, 0)

Evaluating Data in Tables

An example follows.

{table-data:Values}
|| Name || Value ||
| {text-data:Name}{text-data} | {number-data:Value}{number-data} |
{table-data}

Sum: {eval-data:Sum}sumtable("Values", "Value"){eval-data}
Average: {eval-data:Average}avgtable("Values", "Value"){eval-data}

The table data macro contains a table with text data for the name and number data for the value. In the Edit Contents view, click the plus sign to add a row and enter values for each row.

Name

Value


The evaluate data macro calculates the sum of the values in the table:

sumtable("Values", "Value")


The evaluate data macro calculates the average of the values in the table:

avgtable("Values", "Value")