IF macro
The IF macro
is available in HCL®
Campaign and HCL
Interact.
Syntax
IF(predicate_col, then_value)
IF(predicate_col, then_value, else_value) Parameters
predicate_col
A column of boolean values or an expression evaluating to a single column of boolean values. Boolean values are interpreted as zero or non-zero. This column should contain at least as many rows as the data range from which data is being extracted.
then_value
The
value(s) to return if the corresponding row of predicate_col
contains a non-zero value. This can be a constant value, a column,
or an expression evaluating to any of the above. See Macro function parameters for HCL Campaign for
the format definition of then_value (same as data).
else_value
If
this optional parameter is provided, it is returned if the corresponding
row of predicate_col contains a zero. This can be
a constant value, a column, or an expression evaluating to any of
the above. If else_value is not provided, a zero
is returned whenever predicate_col evaluates to false.
See Macro function parameters for HCL Campaign for the format definition of else_value
(same as data).
Description
IF evaluates
the expression in predicate_col and returns then_value
if the expression is true, or else_value if the
expression is false. It returns the same number of columns in then_value
and else_value. The new column(s) will contain the
corresponding row value(s) from then_value if the
value of predicate_col is non-zero. If else_value
is provided, it is returned when the value of predicate_col
is zero. If else_value is not provided, zero is returned.
Since IF operates
on a row-by-row basis, it produces a result for each row up to the
last value of the shortest column (that is, the shortest column out
of predicate_col, then_value, and else_value).
==,
>, <, ISEVEN,
ISODD, and so on).Examples
TEMP containing
a copy of column V1. |
TEMP = IF(V1, 1, 0) Creates
a new column named |
TEMP = IF(V3, V1, V2)
Creates a new column named |
TEMP = IF(ABS(V1-AVG(V1)) < STDV(V1), V1)
Creates a new column named |
TEMP = IF(V3[20:30], V1[30:40], V2)
Creates a new column named |