Attention au piège de performance et de stabilité : contrairement à l'instruction IF-THEN qui n'exécute que la branche valide, la fonction IFN évalue systématiquement les deux arguments (valeur si vrai ET valeur si faux) avant de retourner le résultat ; cela peut provoquer des erreurs de calcul (ex: division par zéro ou log négatif) dans la partie non retenue, même si la condition semblait l'écarter.
Type : SASHELP
Les données proviennent de la table standard SASHELP.CLASS.
| 1 | DATA test1 ; |
| 2 | SET sashelp.class ; |
| 3 | * set entry price based on age ; |
| 4 | IF age>=13 THEN |
| 5 | price=12.50 ; |
| 6 | ELSE |
| 7 | price=8 ; |
| 8 | RUN ; |
| 1 | DATA test2 ; |
| 2 | SET sashelp.class ; |
| 3 | * set entry price based on age ; |
| 4 | price=ifn(age>=13,12.50,8) ; |
| 5 | RUN ; |