Les macros peuvent prendre un ou plusieurs arguments, précisés entre parenthèses
derrière le nom de la macro, et séparés par des virgules. On peut leur faire prendre
une valeur par défaut, en écrivant :
Mon_argument = ma_valeur_par_défaut.
Exemple :
Dans cet exemple, madeuxiememacro prend deux arguments :
Lors de l'appel de la macro :
De plus, les arguments sans valeur par défaut :
Exemple :
%madeuxiememacro (malib.matable) ;
ou :
%madeuxiememacro (malib.matable, stats = sum mean std) ;
Cette particularité permet d'introduire des paramètres qui servent rarement, sans que l'utilisateur ait à les renseigner à chaque appel de la macro.
Le corps d'une macro est constitué d'une succession de programmes SAS
classiques, à savoir des étapes DATA et des étapes PROC.
Il est possible de faire des boucles comme celles présentées dans le paragraphe
"Boucles DO et conditions IF" de la partie I. Les syntaxes sont modifiées comme suit :
Elle permet d'afficher un message dans la LOG.
Exemple :
%let toto = 2 ;
%put la valeur de toto est : &toto. ;
la LOG affichera le message suivant : la valeur de toto est 2