Logical Formulas & Operators
Many of these formulas feature the boolean True
or False
values. To learn more about how Osmos handles True
/False
evaluation and casting, please see True & False Casting.
And &&
Formula
=and(<input 1>, [input 2], ...)
=<input1>&&[input2]
Description
Returns True
if every input value or argument is True,
otherwise returns False
.
Arguments
Argument | Required (Y/N) | Description |
Input 1 | Y | The first value or condition that you want to evaluate for |
Input 2 | N | The second value or condition that you want to evaluate for |
... Input N | N | The nth value or condition that you want to evaluate for |
Examples
Example 1:
=and(equals(5,5), equals(4,4)) =
True
=(5=5)&&(4=4) will return
True
Example 2:
=and(not($"IsEmployee"), $"NorthAmericaOffice")
=($"IsEmployee"="False")&&($"NorthAmericaOffice"="True")
Equals =
Formula
=equals(<input 1>, [input 2], ...)
=<input1>=[input2]...
Description
Returns True
if every input value or argument is equal to each other input, otherwise returns False
Arguments
Argument | Required (Y/N) | Description |
Input 1 | Y | Value evaluated along with other input values (Input 2...Input N) |
Examples
Example 1:
=equals(5, 5, 5) will return
True
=5=5=5 will return
True
Example 2:
=equals(1,1,2) will return
False
=1=1=2 will return
False
Example 3:
=equals($"FirstName", "Peter")
=$"FirstName"="Peter"
IF
Formula
=if(<condition>, <value_if_true>, [value_if_false])
=if(<condition>, <then>, [else])
Description
Returns value_if_true if the condition evaluates to True
. Otherwise returns value_if_false.
Arguments
Argument | Required (Y/N) | Description |
Condition | Y | Statement, value or logical operation evaluated for TRUE or FALSE |
value_if_true | Y | Value returned if Condition is TRUE |
value_if_false | N | Value returned if Condition is FALSE |
Examples
Example 1:
=if(($"PurchaseDate"-currentdate())>30, "Past Due", "OK")
Example 2:
=if(equals($"First Name", "Doe"), $"Last Name", $"First Name") Example 3:
=if(($"Sales"<=0), $"Sales", skip())
IFS
Formula
=ifs(<condition1>, <value_if_true1>, [condition2],[value_if_true2],[condition3],[value_if_true3]...[value_if_false])
Description
Returns value_if_true1 if the condition1 is True
. Otherwise the formula continues to look for the first True
condition. An IFS can take the place of multiple nested IF conditions. An IFS statement can be ended with a final "value_if_false" statement in the case that a True
statement cannot be found. If a "value_if_false" is not specified and a True
statement cannot be found, the equation will output null.
Arguments
Argument | Required (Y/N) | Description |
Condition1 | Y | Statement, value or logical operation evaluated for TRUE or FALSE |
value_if_true1 | Y | Value returned if Condition is TRUE |
Condition2 | N | Optional statement, value or logical operation evaluated for TRUE or FALSE |
value_if_true2 | N | Optional value returned if Condition is TRUE |
value_if_false | N | Optional default value output in the case that none of the outlined conditions return true |
Examples
Example 1:
=ifs(($"Rating">=4),"Four Stars",($"Rating">=3),"Three Stars","Needs Improvement")
Example 2:
=ifs(($"ProductCategory"=103), "Shirts & Jackets", ($"ProductCategory"=104), "Pants", "Unknown")
Switch
Formula
=switch(<$"Field">, <input1>, <value1>, [input2], [value2]...
[default_value])
Description
Returns a value directly corresponding to an input where that input is found in a specified field.
Arguments
Argument | Required (Y/N) | Description |
Field | Y | The location of the data to be compared to input values |
input1 | Y | The input to be compared against the value in a specified field |
value1 | Y | The value returned when its corresponding input is equal to the value in a specified field |
input2 | N | A secondary input to be compared against the value in a specified field |
value2 | N | The value returned when its corresponding input is equal to the value in a specified field |
default_value | N | The value returned in the case that no inputs correspond to the value of the specified field. |
Examples
Example 1:
=switch($"weekday_number",1,"Sunday",2,"Monday",3,"Tuesday","No match")
Example 2:
=switch($"Rank",5,"Five Star",4,"Four Star",3,"Needs Work",2,"Needs Work",1,"Needs Work","n/a")
NotEquals !=
Formula
=notequals(<input 1>, [input 2], ...)
=<input1>!=[input2]
Description
Returns False
if every input is equal to each other, otherwise returns True
Arguments
Argument | Required (Y/N) | Description |
Input 1 | Y | Value evaluated along with other input values (Input 2...Input N) |
Examples
Example 1:
=notequals(5, 5) will return
False
=5!=5 will return
False
Example 2:
=notequals(5,5,3) will return
True
=5!=5!=3 will return
True
Example 3:
=equals($"FirstName", "Smith")
=$"FirstName"!="Smith"
Or ||
Formula
=or(<input 1>, [input 2], ...)
=<input1>||[input2]
Description
Returns True
if at least one input is True
, otherwise returns False
Arguments
Argument | Required (Y/N) | Description |
Input 1 | Y | The first value or condition that you want to evaluate for TRUE or FALSE |
Input 2 | N | The second value or condition that you want to evaluate for TRUE or FALSE |
... Input N | N | The nth value or condition that you want to evaluate for TRUE or FALSE |
Examples
Example 1:
=or(equals(2,5), equals(4,4)) =
True
=(2=5)||(4=4)
Example 2:
=or(not($"Is Employee"), $"Lives in North America")
=($"Is Employee"=FALSE)||($"Lives in North America"="TRUE")
Xor ^
Formula
=xor(<input 1>, [input 2], ...)
=<input1>^<input2>
Description
Returns True
if at exactly one input is true, otherwise returns False
Arguments
Argument | Required (Y/N) | Description |
Input 1 | Y | The first value or condition that you want to evaluate for TRUE or FALSE |
Input 2 | N | The second value or condition that you want to evaluate for TRUE or FALSE |
... Input N | N | The nth value or condition that you want to evaluate for TRUE or FALSE |
Examples
Example 1:
=xor(equals(2,5), equals(4,4)) will return
False
=(2=5)^(4=4) will return
True
Example 2:
=xor(equals(2, 5), equals(4,5)) will return
False
=(2=5)^(4=5) will return
False
Example 3:
=xor(not($"Is Employee"), $"Lives in North America")
=($"Is Employee"="FALSE")^($"Lives in North America"="FALSE")
Not
Formula
=not(<input>)
Description
Returns True
if the given input is False
, otherwise returns False
.
Arguments
Argument | Required (Y/N) | Description |
Input | Y | Statement or operation that is evaluated for |
Examples
Example 1:
=not(true) =
False
Example 2:
=not($"Is Employee")
Contains
Formula
=contains(<input>, <content>)
Description
Returns True
if the given content is contained within the input argument, otherwise returns False
.
Arguments
Argument | Required (Y/N) | Description |
Input | Y | Statement or operation that is searched for the presence of Content value |
Content | Y | Value to be searched within Input argument |
Examples
Example 1:
=contains("last name", "name") will return
True
Example 2:
=contains($"date", "2020-02-2017")
Example 3:
=contains($"full name", $"last name")
Iferror
Formula
=iferror(<condition>, <value_if_error>,
[value_if_no_error])
Description
Returns value_if_error if the condition has an Error. Otherwise returns value_if_no_error.
Arguments
Argument | Required (Y/N) | Description |
Condition | Y | Statement, value or logical operation evaluated for ERROR |
value_if_error | Y | Value returned if Condition has an ERROR |
value_if_no_error | N | Value returned if Condition does not have an ERROR |
Examples
Example 1:
=iferror($"request_date", "Date Missing",$"request_date")
Example 2:
=iferror(divide(10,0), "Divide by zero") will return "Divide by zero"
Less Than >
Formula
=<input1> > <input2>
Description
Returns a boolean True
value if input1 is greater than to input2, otherwise returns False
. Numeric values will be evaluated numerically, string values will be evaluated by lexicographical value.
Arguments
Argument | Required (Y/N) | Description |
Input1 | Y | Primary value for evaluation |
Input2 | Y | The second value that you want to be evaluated |
Examples
Example 1:
=5>10 will return
False
Example 2:
="cat">"bat" will return
True
, as "c" comes after "b" and so has a higher lexicographical value
Less Than or Equal To >=
Formula
=<input1> >= <input2>
Description
Returns a boolean True
value if input1 is greater than or equal to to input2, otherwise returns False
. Numeric values will be evaluated numerically, string values will be evaluated by lexicographical value.
Arguments
Argument | Required (Y/N) | Description |
Input1 | Y | Primary value for evaluation |
Input2 | Y | The second value that you want to be evaluated |
Examples
Example 1:
=5>=10 will return
False
Example 2:
="cat">="bat" will return
True
, as "c" comes after "b" and so has a higher lexicographical valueExample 3:
=if($"Q2Sales">=$"Q1_Sales", "Growth","Stagnation")
Greater Than <
Formula
=<input1> < <input2>
Description
Returns a boolean True
value if input1 is less than than to input2, otherwise returns False
. Numeric values will be evaluated numerically, string values will be evaluated by lexicographical value.
Arguments
Argument | Required (Y/N) | Description |
Input1 | Y | Primary value for evaluation |
Input2 | Y | The second value that you want to be evaluated |
Examples
Example 1:
=10>5 will return
False
Example 2:
="bat"<"cat" will return
True
, as "b" comes before "c" and so has a lesser lexicographical value
Greater Than or Equal To <=
Formula
=<input1> <= <input2>
Description
Returns a boolean True
value if input1 is less than than or equal to input2, otherwise returns False
. Numeric values will be evaluated numerically, string values will be evaluated by lexicographical value.
Arguments
Argument | Required (Y/N) | Description |
Input1 | Y | Primary value for evaluation |
Input2 | Y | The second value that you want to be evaluated |
Examples
Example 1:
=10>=5 will return
False
Example 2:
="bat"<="cat" will return
True
, as "b" comes before "c" and so has a lesser lexicographical valueExample 3:
=if($"Q2Sales"<=$"Q3_Sales","Stagnation", "Growth")
Last updated