If the following 'variables' are defined: (These 'variables' can be any information that is recorded on the Part Record)
- A = 12
- B = 15
- C = 2
- D = 18.123
- E = Hello
- F = World
- G = 3/31/2002 12:00:00 AM
- H = 5/2/2002 12:00:00 AM
-
[NOW] = -- Current Date -- (01-06-2011)
Note: Formulas are not case sensitive
You can use these 'variables' in formulas, like as shown in the following examples:
- 1+2 -> 3
- [E] + ' ' + [F] + ' !' -> Hello World !
- IIF([A]>[D],[E],[F]) -> World
- Format('dd-MM-yy', Now()) -> 17-02-09
- More Examples : http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
- Format('f',[D]) -> 18.123
- Format('f1',[D]) -> 18.1
- Format('f2',[D]) -> 18.12
- Format('f4',[D) -> 18.1230
- Convert('tostring',[E]) -> 'Hello'
- format('MM-dd-yyyy', convert('todatetime',[NOW]+3*)) -> 01-09-2011
Math
- IIF([A] = [A], True, False) -> True
- IIF([A] != [A], True, False) -> False
- [A] = [A] -> True
- [A] != [A] -> False
- [B] - [A] -> 3
- [B] - [A] -> 27
- [A] * [C] -> 24
- [A] / [C] -> 6
- Example for a AND Type operation
- IIF([A] = [A], IIF([B] = [B], True, False), False) -> True
- IIF([A] = [A], IIF([B] = [C], True, False), False) -> False
- Example for a OR Type operation
- IIF([A] = [A], True,IIF([B] = [B], True, False)) -> True
- IIF([A] = [A], True,IIF([B] = [C], True, False)) -> True
- IIF([A] = [C], True,IIF([B] = [B], True, False)) -> True
- IIF([A] = [C], True,IIF([B] = [C], True, False)) -> False
Functions
You can use the following function in the formulas:
- sin(), cos(), pi()
- sqrt()
- abs()
- iff()
- max(), min(),
- ln()
- Natural logarithm, where the base is 'e'.
- log()
- Logarithm where the base can be selected, example log(2,10) where the logarithm of 2 is calculated with base 10.
- med()
- Calculated the median of the provided variables, example syntax med([VARA],[VARB],[VARC],[VARD],...)
- stdev()
- where Σ = Sum of
X = Individual values
M = Mean values
N = Sample size (Number of values)
- where Σ = Sum of
- stdevp()
- where Σ = Sum of
X = Individual values
M = Mean values
N = Sample size (Number of values)
- where Σ = Sum of
- CONVERT('see below', value)
- tobool
- toint
- todouble
- todatetime
- tostring
- left()
- Needs a string and a number: left([T],[N]).
- For example left('Hello',2) will give back the string 'He'.
- Variables can be used as well, so left([E],[C]), using the configuration above, will give back 'He' as well.
- right()
- Needs a string and a number: right([T],[N]).
- For example right('Hello',2) will give back the string 'lo'.
- Variables can be used as well, so right([E],[C]), using the configuration above, will give back 'lo' as well.
- For example to do a translation of the most right number in a string to text, the following example can be used
- IIF(right([T],[N])='6','Six','Not Six'), where T is the text, and N should be the number 1.
- mid()
- Needs a string followed by two numbers: mid([T],[P],[N]). Where the first number is the position, and the second number is the length.
- For example mid('Hello',2,3) will give back the string 'llo'.
- Variables can be used as well, so mid([E],[C],[C]+1) will give back the string 'llo' as well.
- rand()
- Create random numbers, rand(1,8) for example will create random numbers starting at 1, and ending at 8.
Part Functions
There are a few functions that can be used to perform calculations where all Part Records are taken in consideration. The result will be written to all parts on the traveler. For all those functions a variable needs to be defined that will be used for the calculations. Those functions are:
- PRSUM([VAR]) - This can be used to summarize the [VAR] NV that is available for all parts on the traveler.
- PRMAX([VAR]) - Find the highest value of the [VAR] NV on the traveler for all parts.
- PRMIN([VAR]) - Find the lowest value of the [VAR] NV on the traveler for all parts.
- PRCOUNT([VAR]) - Count the number of parts on the traveler that have the [VAR] NV
- PRAVG([VAR]) - Calculate the average value of the [VAR] NV on the traveler for all parts
- PRMED([VAR]) - Calculate the median value of the [VAR] NV on the traveler for all parts
Built-In millisecond conversions
Nested IIF Statements
This example uses three variables to display a text return on which channels fail.
Calc NV Config
Calc NV Return
Convert Date Month to a Letter
This Calc formula will convert a Month Digit of 01, 02, 03, ... 12 into an Alpha Character.
Calc String Formula
IIF(Format('MM', Now())="01","A",IIF(Format('MM', Now())="02","B",IIF(Format('MM', Now())="03","C",IIF(Format('MM', Now())="04","D",IIF(Format('MM', Now())="05","E",IIF(Format('MM', Now())="06","F",IIF(Format('MM', Now())="07","G",IIF(Format('MM', Now())="08","H",IIF(Format('MM', Now())="09","I",IIF(Format('MM', Now())="10","J",IIF(Format('MM', Now())="11","K",IIF(Format('MM', Now())="12","L","X"))))))))))))
Useful Links
Click one of the following links to learn more: