Il existe trois notations différentes pour écrire des commentaires dans un programme SAS. Chacune à ses avantages et ses limites. En en prenant connaissance ici, vous pourrez faire des choix stratégiques.
1. Désactiver une instruction : un commentaire entre une étoile et un point virgule est la plus rapide des notations. Celle-ci fait usage de la particularité de la syntaxe SAS. En effet, chaque instruction se termine par un point-virgule. En ajoutant une étoile (asterisk) en tête, l’instruction est désactivée.
Lors du développement d’un programme, on est amené à suspendre certaines instructions ou à en activer ponctuellement. C’est le cas la procédure PROC PRINT, qui permet d’avoir un aperçu du contenu d’un jeu de donné.
*proc print data=cnt_pct;
*run;
Note : On n’utilisera pas cette syntaxe étoile/point-virgule :
pour suspendre un large bloc de texte
si les guillemets ne sont pas fermés dans le commentaire
entre deux instructions PUT ou deux instructions CALL EXECUTE.
2. Désactiver un bloc de texte plus globales : L’étoile/point-virgule peut-être incluse dans d’autres commentaires plus larges définis pas /* */. Ainsi on peut choisir d’annoter des titres de rubriques d’un programme avec *; . Ainsi on pourra englober ces titres dans une zone de désactivation plus grande.
/*
*Calcul des fréquences;
proc freq…;
run;
*Générer une table;
proc report…;
run;
*/
Note : On pourra choisir de fermer le bloc par /***/ au lieu de */. Ainsi, en enlevant seulement le /* en début de commentaire, l’intégralité du code est réactivée et fonctionne sans que la notation de fin soit impérativement supprimée.
3. Les commentaires et le langage macro :
Les différences entre les instructions à l’intérieur et la l’extérieur d’une définition de macro : les instructions macro doivent avoir l’étoile après le symbole pourcentage à l’intérieur d’une définition de macro. On continuera à mettre l’étoile avant si l’instruction est à l’extérieur de la définition de macro. La notation /**/ ne rencontre pas de difficulté particulière.
Sur ce blog, dédié au logiciel SAS®, sont publiés 2 articles par semaine : le lundi et le jeudi.
Vous y trouverez des informations pour vous former à SAS, mieux comprendre le métier de programmeur, et découvrir l'univers qui entoure le logiciel SAS.
Pour recevoir la newsletter le premier mardi de chaque mois et bénéficier d'offres privilèges comme des exercices sur SAS avec réponse, écrivez à veronique.bourcier
@sasreference.fr et précisez "Inscription Newsletter" dans l'objet. Plus de détails
"Un mot pour te remercier de ton blog qui est vraiment très bien fait et très utile pour les personnes qui travaillent sur SAS. J’y apprends moi-même beaucoup de choses." Yann, 30 ans, Paris, Président de l'AESV.
"Lectrice régulière de votre blog, et utilisatrice de SAS au quotidien, vous m'avez beaucoup appris et pour cela je vous en remercie!" Emmanuelle, étudiante de 3ème année à l'ENSAI
DataFocus est une société de service en SAS basée à Cologne. Elle recherche de nouveaux profils pour rejoindre son équipe de 4 consultants. Elle travaille aussi avec des freelancers. www.datafocus.de
3 angles de vue sur les commentaires
avril 24, 2008Il existe trois notations différentes pour écrire des commentaires dans un programme SAS. Chacune à ses avantages et ses limites. En en prenant connaissance ici, vous pourrez faire des choix stratégiques.
1. Désactiver une instruction : un commentaire entre une étoile et un point virgule est la plus rapide des notations. Celle-ci fait usage de la particularité de la syntaxe SAS. En effet, chaque instruction se termine par un point-virgule. En ajoutant une étoile (asterisk) en tête, l’instruction est désactivée.
Lors du développement d’un programme, on est amené à suspendre certaines instructions ou à en activer ponctuellement. C’est le cas la procédure PROC PRINT, qui permet d’avoir un aperçu du contenu d’un jeu de donné.
*proc print data=cnt_pct;
*run;
Note : On n’utilisera pas cette syntaxe étoile/point-virgule :
2. Désactiver un bloc de texte plus globales : L’étoile/point-virgule peut-être incluse dans d’autres commentaires plus larges définis pas /* */. Ainsi on peut choisir d’annoter des titres de rubriques d’un programme avec *; . Ainsi on pourra englober ces titres dans une zone de désactivation plus grande.
/*
*Calcul des fréquences;
proc freq…;
run;
*Générer une table;
proc report…;
run;
*/
Note : On pourra choisir de fermer le bloc par /***/ au lieu de */. Ainsi, en enlevant seulement le /* en début de commentaire, l’intégralité du code est réactivée et fonctionne sans que la notation de fin soit impérativement supprimée.
3. Les commentaires et le langage macro :
Les différences entre les instructions à l’intérieur et la l’extérieur d’une définition de macro : les instructions macro doivent avoir l’étoile après le symbole pourcentage à l’intérieur d’une définition de macro. On continuera à mettre l’étoile avant si l’instruction est à l’extérieur de la définition de macro. La notation /**/ ne rencontre pas de difficulté particulière.
%macro commentaires;
%*IF….;
%mend;
*%commentaires;
Le cas particulier des conditions : seul le /**/ peut-être utilisé entre un %if et un %else.
%macro commentaire;
%IF … %THEN %DO; … %END;
/* l’autre notation n’est pas possible ici*/
%ELSE …
%mend commentaire;
Une macro sans nom : la troisième méthode pour écrire un commentaire est de créer une macro sans nom.
%macro;
Mon texte est inactif ici.
%mend;
Publié dans Data Management, Documenter, Langage Macro, Par thématiques, SAS débutant, Tous les niveaux | Taggé commentaires, SAS, syntaxe |