### 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