Calculations
@construct-currency
first parameter: an amount (e.g., 500 or 5.123)
second parameter:
USD
,EUR
,GBP
orJPY
Returns a currency value that consists of the specified value and currency.
For example, {@construct-currency(500, "EUR") + 1 EUR}
is equal to having typed {500 EUR + 1 EUR}
@count
parameter: some list
returns a whole number
Returns the number of elements present in the list.
For example, @count(@empty-list)
results in 0, while @count(@list(‘alpha’, ‘beta’))
results in 2
.
@difference
parameters: two lists (the second parameter will be automatically converted to a list)
returns a list
Returns the difference between the two lists, i.e. it takes the first list, removes all the elements of the second list that are also present in the first list, and then returns the result.
Examples:
@difference(@list(1, 2, 3), @list(1))
results in a list with elements 2 and 3@difference(@list(1, 2, 3), 1)
results in a list with elements 2 and 3 — note that the second parameter was automatically converted to @list(1)@difference(@list(1, 2, 3), @list(1, 2, 3))
results in an empty list, because both lists share the same elements@difference(@list(1, 2, 3), @list(1, 1, 2, 2, 3))
also results in an empty list@difference(@list(1, 1, 2, 2, 3, 3), @list(1, 2, 3))
also results in an empty list@difference(@list(1, 1, 2, 2, 3, 3), @list(1, 2))
results in a list with elements 3 and 3
@intersection
parameters: two lists (the second parameter will be automatically converted to a list)
returns a list
Takes the first list, and removes each element that does not also appear in the second list.
Examples:
@intersection(@list(1, 2, 3), @list(3))
will result in a list with element 3@intersection(@list(1, 2, 3), 3)
will result in a list with element 3 (note that the second parameter was automatically converted to a list)@intersection(@list(1, 2, 3), @list(1, 2, 3))
will result in a list with elements 1, 2 and 3@intersection(@list(1, 2, 3), @list(4, 5, 6))
will result in an empty list
@length
parameter: text
returns the number of characters found in the length
Returns the length of the text parameter, taking into account trailing or leading whitespace. For example, @length("alpha")
returns 5, while @length(" alpha ")
returns 7.
@lookup
parameters:
value to lookup
source-field (of type repeating-field)
target-field (of type repeating-field)
returns the value of the target-field that corresponds to the value to lookup, otherwise null
For example, assume you have a repeating-list #xxx^first-names
and another repeating-list #xxx^last-names
. @lookup("Daniel", #xxx^first-names, #xxx^last-names)
will then result in the last name of Daniel (if found)
@nth
first parameter: a list
second parameter: a whole number
Returns the element at the specified index within the (repeating) list.
Returns an error when the index is not found. (If you want a null-value instead, please use @get
).
Examples:
@nth(@list(100, 200, 300), 1)
will result in 100@nth(@list(100, 200, 200), 55)
will result in an error (only indices 1, 2 or 3 would be valid)
Note that — unlike most programming languages — the index is one-based, i.e. the first index is one and not zero.
@percent-divide
parameters: two numbers
returns a number
Divides the first number by the second number, multiplies the result by 100, and returns the final result. Typically used to calculate a percentage.
For example, @percent-divide(5, 20)
returns 25,00 — because 5 is 25% of 20.
Last updated