Logical Functions Flashcards
IN
Returns TRUE if any value in matches any value in .
The values in can be a Set, list of literal values, or a combined field.
Examples:
SUM([Cost]) IN (1000, 15, 200)
[SET] IN [COMBINED FIELD]
AND
Performs a logical conjunction on two expressions.
Example:
IF (ATTR([Market]) = “Africa” AND SUM([Sales]) > [Emerging Threshold] )THEN “Well Performing”
CASE
Performs logical tests and returns appropriate values. The CASE function evaluates expression, compares it to a sequence of values, value1, value2, etc., and returns a result. When a value that matches expression is encountered, CASE returns the corresponding return value. If no match is found, the default return expression is used. If there is no default return and no values match, then Null is returned.
CASE is often easier to use than IIF or IF THEN ELSE.
Typically, you use an IF function to perform a sequence of arbitrary tests, and you use a CASE function to search for a match to an expression. But a CASE function can always be rewritten as an IF function , although the CASE function will generally be more concise.
Many times you can use a group to get the same results as a complicated case function.
Examples:
CASE [Region] WHEN ‘West’ THEN 1 WHEN ‘East’ THEN 2 ELSE 3 END
CASE LEFT(DATENAME(‘weekday’,[Order Date]),3) WHEN ‘Sun’ THEN 0 WHEN ‘Mon’ THEN 1 WHEN ‘Tue’ THEN 2 WHEN ‘Wed’ THEN 3 WHEN ‘Thu’ THEN 4 WHEN ‘Fri’ THEN 5 WHEN ‘Sat’ THEN 6 END
ELSE
Tests a series of expressions returning the value for the first true .
Example:
If [Profit] > 0 THEN ‘Profitable’ ELSE ‘Loss’ END
ELSEIF
Tests a series of expressions returning the value for the first true .
Example:
IF [Profit] > 0 THEN ‘Profitable’ ELSEIF [Profit] = 0 THEN ‘Breakeven’ ELSE ‘Loss’ END
END
Tests a series of expressions returning the value for the first true . Must be placed at the end of an expression.
Example:
IF [Profit] > 0 THEN ‘Profitable’ ELSEIF [Profit] = 0 THEN ‘Breakeven’ ELSE ‘Loss’ END
IF
Tests a series of expressions returning the value for the first true .
Example:
IF [Profit] > 0 THEN ‘Profitable’ ELSEIF [Profit] = 0 THEN ‘Breakeven’ ELSE ‘Loss’ END
IFNULL
Returns if it is not null, otherwise returns .
Example:
IFNULL([Profit], 0)
IIF
Checks whether a condition is met, and returns one value if TRUE, another value if FALSE, and an optional third value or NULL if unknown.
Example:
IIF([Profit] > 0, ‘Profit’, ‘Loss’)
ISDATE
Returns true if a given string is a valid date.
Example:
ISDATE(“2004-04-15”) = True
ISNULL
Returns true if the expression is NULL (does not contain valid data).
Example:
ISNULL([Profit])
MAX
Returns the maximum of a single expression across all records or the maximum of two expressions for each record.
Example:
MAX([Sales])
MIN
Returns the minimum of an expression across all records or the minimum of two expressions for each record.
Example:
MIN([Profit])
NOT
Performs logical negation on an expression.
Example:
IF NOT [Profit] > 0 THEN “Unprofitable” END
OR
Performs a logical disjunction on two expressions.
Example:
IF [Profit] < 0 OR [Profit] = 0 THEN “Needs Improvement” END