IF
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. Sinon, predicate_col constitue une limite du nombre de lignes traitées par la fonction macro EXTRACT (voir "Description" ci-dessous).
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.
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.
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).
*
Cette macro est disponible dans IBM ® Interact.
Exemples
Crée une colonne nommée TEMP contenant une copie de la colonne V1.
Crée une colonne nommée TEMP, dans laquelle chaque valeur est égale à un si la valeur correspondante de la colonne V1 est non nulle ; sinon, la valeur est égale à zéro.
Crée une colonne nommée TEMP, dans laquelle chaque valeur est copiée à partir de la colonne V1 si la valeur correspondante de la colonne V3 est non nulle ; sinon; la valeur est copiée à partir de la colonne V2.
Crée une colonne nommée TEMP contenant chaque valeur de la colonne V1 qui est inférieure d'un écart type de la moyenne.
Crée une colonne nommée TEMP contenant les valeurs des lignes 10 à 20. Chaque valeur est copiée à partir de la colonne V1 (cibles 10 à 20) si la valeur correspondante de la colonne V3 (cibles 30 à 40) est non nulle ; sinon; la valeur est copiée à partir de la colonne V2 (cibles 1 à 11).
Fonctions associées