User RolesAdmin Staff contributor✗ External Contributor✗ Pulse user

Reports in Silverfin are built from columns representing periods and rows representing data - including formula calculations. This article is a reference guide for every formula type available in report rows, relevant for Admins and Staff Contributors who build or maintain report templates.


Table of contents

Most Used Formulas

Value

Definition: any numerical value can be output

Formula: the numerical value in plain text

Examples: 34.43, -500 or any number

Group value

Definition: the numerical value of a group. It is referenced by it's group Tag.

Formula: use the group tag in plain text

Example: root_group (assuming you have a group with a tag root_group)

Accumulated sum of some account values

Definition: The sum of some account values starting with the same prefix

Formula: # + account prefix(es)

Examples: 

  • #1 will accumulate the sum of the values of all accounts starting with 1
  • #10 will accumulate the sum of the values of all accounts starting with 10

Accumulated sum of the values of a range of accounts

Definition: The sum of some account values starting with a range of prefixes.

Formula: # + account prefix(es) range start + __ + account prefix(es) range end

Examples: 

- #1__4 will accumulate the sum of the values of all accounts starting with 1, 2, 3 or 4

- #1234__1238 will accumulate the sum of the values of all accounts starting with 1234, 1235, 1236, 1237 or 1238

Note: A range cannot span more than 200 prefixes. For example, #1__1000 is not permitted.

Less Common Formulas

MAX()

Definition: Maximum value of a list

Formula: MAX(value_1, value_2, value_3) will return the highest of value_1, value_2 or value_3

Example: 

MAX(1,2,3,0) => 3

MAX(#1__2, #3, 0, root_group)

MIN()

Definition: Minimum value of a list

Formula: MIN(value_1, value_2, value_3) will return the lowest of value_1, value_2 or value_3

Example: 

MIN(1,2,-3,4) => -3

MIN(#1__2, #3, 0, root_group)

ABS()

Definition: Absolute value

Formula: ABS(value)

Examples:

ABS(0) => 0

ABS(34.43) => 34.43

ABS(-23) => 23

:opening modifier

Definition: Will fetch the period opening value for the account, or range of account

Formula: account OR account range + :opening

Examples:

  • #1:opening
  • #1__4:opening

Access reconciliations result

Definition: Access one reconciliation named result

Formula: reconciliations.$HANDLE.results.$NAMED_RESULT_KEY

Example: reconciliations.2018_disallowed_expenses.results.disallowed_expenses_total

Amount of days since start of year

Definition: As it says, an integer number of number of days since start of year

Formula: period.amount_of_days_since_start_of_year

Example: -1*period.amount_of_days_since_start_of_year

Arithmetic operations

You can combine any of the formulas above using standard arithmetic operators.

OperationSymbolExample
Addition+10 + #1__9 + root_group
Subtraction-10 - #1__9 - root_group
Multiplication*10 * #1__9 * root_group
Division/10 / #1__9 / root_group
Power (exponent)**10 ** 2
Parentheses( )10 ** (#1__9 - (root_group * 3))

Parentheses follow standard mathematical rules and can be nested to control the order of calculation.