Publié le :

Compilation et Utilisation de Macro SAS avec MCOMPILENOTE

Ce code est également disponible en : Deutsch English Español
Le script débute par une explication détaillée de la compilation des macros SAS©, soulignant que le processeur de macros vérifie la syntaxe des instructions macro et stocke la définition compilée dans un catalogue SAS© temporaire (généralement `work.sasmacr`). Il met en évidence l'importance de l'option `MCOMPILENOTE=ALL` pour confirmer le succès de la compilation et obtenir des informations sur la macro (nombre d'instructions, taille) dans le log SAS©. La macro `prtlast` est fournie comme un exemple pratique, utilisant `PROC PRINT` pour afficher les 10 premières lignes de la dernière table SAS© (`&syslast`) de la session.
Analyse des données

Type : INTERNE


Le code utilise la macro-variable automatique `&syslast` qui référence la dernière table SAS créée ou modifiée dans la session courante. Les données sont donc issues de la session SAS elle-même, non d'une source externe ou créée directement par ce script.

1 Bloc de code
OPTION
Explication :
Cette instruction SAS active l'option système `MCOMPILENOTE=ALL`. Cela configure SAS pour qu'il émette une note dans le log chaque fois qu'une macro est compilée, indiquant le succès de la compilation, le nombre d'instructions et la taille de la macro.
Copié !
1options mcompilenote = all;
2 Bloc de code
MACRO DEFINITION (%prtlast)
Explication :
Ce bloc définit une macro SAS nommée `prtlast`. Lors de son exécution, cette macro utilise la `PROC PRINT` pour afficher les dix premières observations (`obs=10`) de la dernière table SAS créée ou modifiée dans la session (`&syslast`). Un titre dynamique est également appliqué au listing, incluant le nom de la table traitée.
Copié !
1 %macro prtlast;
2 PROC PRINT DATA=&syslast (obs=10);
3 title "Listing of &syslast data set";
4 RUN;
5 %mend;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.