Administering : Managing business rules and expressions : Operators of expressions
  
Operators of expressions
The following tables show which operators you can use to write expressions in Focal Point®.
Text attributes
For Text attributes, you can use the following operators:
 
Operator
Description
Example
+
Adds
="Two " + "Strings" --> Two Strings
&
Adds
="Two " & "Strings" --> Two Strings
substring()
Generates a substring
=substring("ABCDEFG", "2") --> CDEFG =substring("ABCDEFG", "2", "5") --> CDE =substring("ABCDEFG", "BC") --> DEFG =substring("ABCDEFG", "BC", "F") --> DE
text
Converts a list into a text
 =text('mymatrix(A1:A3)') --> first cell, second cell, third cell
regexp()
Implements Jakarta Regexp getParen(0)
=regexp("ABCDEFG","A.*D") --> ABCD
match()
Implements Jakarta Regexp match
=match("ABCEFG",".B.*") --> 1
equals
Equals
=equals("ABCDEFG","ABCDEFG") -->1
compare
Compares
=compare("A","A") --> 0 =compare("A","B") --> -1 =compare("B","A") --> 1
Integer, Float, and Date attributes and Matrix attribute cells
For Integer, Float, Date attributes, and Matrix attribute cells, you can use the following operators:
 
Operator
Description
Example
+
Addition
3+1
-
Subtraction
3-1
* (asterisk)
Multiplication
3*3
/ (forward slash)
Division
3/3
** or ^
Exponentiation
3^3
sqrt()
cubert()
Square/Cubic root
sqrt(12)
sin()
cos()
cot()
tan()
arcsin()
arccos()
arctan()
csc()
sec()
Trigonometric functions
sin(1)
()
Parentheses
(1-2)*3
(a>b)?c:d
Boolean expression
Boolean expressions have lower priority than Addition, Subtraction, Multiplication, and Division.
(3<4)?1:0
max(a,b)
min(a,b)
Maximum and minimum
max(1,2)
abs()
ceiling()
floor()
trunc()
round()
Various math functions
trunc(3.14)
n!
Factorial operator
3!
exp()
ln()
log2()
log10()
Exponential functions
ln(1)
Sum
Sum of the parameters
=Sum('cost1','cost2','cost3') = cost1 + cost2 + cost3
=Sum('MMM(A1:C1)') = cell A1 + cell B1 + cell C1 in the MMM matrix
Factor
Product sum of the parameters
=Factor('cost1','cost2','cost3') = cost1 * cost2 * cost3
=Factor('MMM(A1:C1)') = cell A1 * cell B1 * cell C1 in the MMM matrix
Average
Average of the parameters
=Average(12,14,22) = 16
Max
Highest parameter value
=Max(12,14,22) = 22
Min
Lowest parameter value
=Min(12,14,22) = 12
NPV
Net Present Value.
=NPV('Opportunity Cost of Capital','CF today', 'CF Year 1',CF Year 2',CF Year 3','CF Year 4')
substring
Returns a subset of a string
=substring(text, startIndex/String, [endIndex/String])
startIndex is inclusive, startString is exclusive endIndex and endString are exclusive
A B C D E F G 0 1 2 3 4 5 6
=substring("ABCDEFG", "2") --> CDEFG
=substring("ABCDEFG", "2", "5") --> CDE
=substring("ABCDEFG", "BC") --> DEFG
=substring("ABCDEFG", "BC", "F") --> DE
text
Converts a list of references into a text string by separating their values with , (comma) or a space.
=text('mymatrix(A1:A3)') = first cell, second cell, third cell
round
Rounds the value of the parameter
=round(100*7.23456)/100
Results in 7.23 in a Float attribute
today
Calculates the current date.
This operator is only useful in date attributes.
=today() in a date attribute displays the current date.
To update the expression daily, use the run_at parameter.
For example, to update the expression every day at 2 am, server time, use:
=today("run_at=2")
Time Grid attribute cells
For Time Grid attribute cells, you can use the following operators:
 
Operator
Description
Example
+
Addition
3+1
-
Subtraction
3-1
* (asterisk)
Multiplication
3*3
/ (forward slash)
Division
3/3
** or ^
Exponentiation
3^3
average
Average of the cell values
=average('A1','B2','C2') = 16
count
Number of cells
= count('A1','B2','C2') =3
max
Highest cell value
=max('A1':'A3')=10
min
Lowest cell value
=min('A1':'A3')=2
sum
Product sum of the cell values
=sum('A1':'A3')=15
See
Expressions for Text attributes
Basic examples for float and integer attributes
Expressions for Date attributes
Writing expressions: Advanced examples
Managing business rules and expressions