List of math operators and functions supported in ConfiForms Field macro (calculated/formula fields and TableView Merger macro)
...
+ ConfiForms ValueView macro
Please note that formulas are calculated PER ROW.
And if used within TableViewMerger or ValueView macros then calculated per row values might also be aggregated across the matched rows
Supported Operators
Mathematical Operators | |
---|---|
Operator | Description |
+ | Additive operator |
- | Subtraction operator |
* | Multiplication operator |
/ | Division operator |
% | Remainder operator (Modulo) |
^ | Power operator |
...
[entry.f1] + ([entry.f2] * [entry.f3]) | Simple math expression, assuming f3 = 2, f2 = 1 and f1 = 5 the calculated value will be 7 |
IF(0, hi, bye) | bye |
IF([entry.somefield], hi, bye) | depending on the field value: if 0 then "bye" will be outputted and "hi" otherwise |
IF([entry.field1]+31, IF([entry.field2], 4, 12)*10, NA) | also, depends on a values for fields field1 and field2 |
FORMATDATE(NOW()) | will print current date using Confluence date format |
IF(EMPTY("[entry.somefield]", "ERROR", "SUCCESS") | will print ERROR if the value for field "somefield" is empty and SUCCESS if not empty |
IF(LEN("[entry.someotherfield]")>1, "Good", "Not good at all") | will print Good if someotherfield's value is longer than 1 character (and if not then Not good at all is printed) |
FORMATNUMBER([entry.f1], "###,###.00") | when entry.f1 = 100 the output will be: 100.00 when entry.f1 = 1100.01 the output will be: 1,100.01 |
FORMATNUMBER([entry.f1], "###,###.##") | when entry.f1 = 100 the output will be: 100 when entry.f1 = 1100.01 the output will be: 1,100.01 |
FORMATNUMBER(ZEROIFEMPTY("[entry.f1]"), "###,###.##") | when entry.f1 is empty (nothing set), then 0 will be given to FORMATNUMBER function and the result would be: 0 |
IF(EMPTY("[entry.somefield]", "ERROR", IF(EMPTY("[entry.anotherfield]", "ERROR", "SUCCESS")))) | to check if both values for fields "somefield" and "anotherfield" do present and set the label to "SUCCESS" (and to "ERROR" otherwise) |
As always, using [entry.field_name] notations you can access other field properties (depending on a field type) and apply functions whenever needed
Accessing field values and properties