Macro IF
Le IF est disponible dans Unica Campaign et Unica Interact.
Syntaxe
IF(predicate_col, then_value) IF(predicate_col, then_value, else_value) Paramètres
predicate_col
Colonne de valeurs booléennes ou expression convertie en une colonne de valeurs booléennes. Les valeurs booléennes sont interprétées comme des nulles ou non nulles. Cette colonne doit contenir au moins autant de lignes que la plage de données de laquelle les données sont extraites.
then_value
Valeurs à renvoyer si la ligne de predicate_col correspondante contient une valeur non nulle. Il peut s'agir d'une valeur constante, d'une colonne ou d'une expression convertie comme l'une de ces valeurs. Pour la définition de format de then_value (identique à data), voir Paramètres des fonctions macro pour Unica Campaign.
else_value
Si ce paramètre facultatif est fourni, il est renvoyé si la ligne correspondante de predicate_col contient un zéro. Il peut s'agir d'une valeur constante, d'une colonne ou d'une expression convertie comme l'une de ces valeurs. Si else_value n'est pas fourni, un zéro est renvoyé chaque fois que predicate_col a la valeur false. Pour la définition de format de else_value (identique à data), voir Paramètres des fonctions macro pour Unica Campaign.
Description
IF convertit l'expression de predicate_col et renvoie then_value si l'expression est true ou else_value si l'expression est false. Il renvoie le même nombre de colonnes dans then_value et else_value. Les nouvelles colonnes contiendront les valeurs de ligne correspondantes de then_value si la valeur de predicate_col est non nulle. Si else_value est fourni, il est renvoyé lorsque la valeur de predicate_col est zéro. Si else_value n'est pas fourni, zéro est renvoyé.
IF fonctionnant ligne par ligne, il génère un résultat pour chaque ligne jusqu'à la dernière valeur de la colonne la plus courte (c'est-à-dire la colonne la plus courte entre predicate_col, then_value et else_value).
==, >, <, ISEVEN, ISODD, etc.).Exemples
TEMP contenant une copie de la colonne V1. |
TEMP = IF(V1, 1, 0) Crée une colonne nommée |
TEMP = IF(V3, V1, V2) Crée une colonne nommée |
TEMP = IF(ABS(V1-AVG(V1)) < STDV(V1), V1) Crée une colonne nommée |
TEMP = IF(V3[20:30], V1[30:40], V2) Crée une colonne nommée |