Boucles DO et conditions IF

Le langage SAS offre la possibilité de faire des boucles finies ou des boucles tant que, ainsi que des tests.

Syntaxe d'une condition IF :

IF condition THEN instruction ;
ELSE instruction ;

Le IF n'a pas besoin d'être terminé par un END ;

Si on veut insérer plus d'une instruction dans le THEN ou dans le ELSE, il faut les encadrer par un bloc DO ; ... END ; de la manière suivante :

IF condition THEN DO ;

bloc d'instructions

END ;
ELSE DO ;

bloc d'instructions

END ;

Le bloc SELECT :

Si une série de conditions IF revient à différencier le traitement qui suit selon les modalités d'une variable, on lui substituera avantageusement une instruction SELECT dont voici la syntaxe :

SELECT (variable) ;
 WHEN (modalité1) instruction1 ;
 WHEN (modalité2) instruction2 ;
 ...
 OTHERWISE instruction ;
END ;

Le cas OTHERWISE n'est pas indispensable.

Syntaxe d'une boucle finie : (exemple pour 10 itérations)

DO i=1 TO 10 ;

bloc d'instructions

END ;

Syntaxe d'une boucle tant que :

DO WHILE (condition) ;

bloc d'instructions à exécuter tant que la condition est réalisée

END ;