Comment utiliser l’instruction %LET dans SAS (avec exemples)



Vous pouvez utiliser l’instruction %LET dans SAS pour créer des variables de macro pouvant stocker des valeurs que vous pourrez ensuite utiliser ultérieurement dans votre programme.

Les exemples suivants montrent deux manières courantes d’utiliser l’instruction %LET dans la pratique.

Exemple 1 : utiliser l’instruction %LET pour stocker une valeur numérique dans SAS

Supposons que nous ayons l’ensemble de données suivant dans SAS qui contient des informations sur divers joueurs de basket-ball :

/*create dataset*/
data my_data;
input team $ points;
datalines;
A 22
A 14
A 23
B 30
B 18
B 20
C 13
C 12
C 26
;
run;

/*view dataset*/
proc print data=my_data;

Nous pouvons utiliser l’instruction %LET pour créer une variable macro appelée points_cutoff qui a une valeur de 20 .

Nous pourrons ensuite référencer cette variable ultérieurement en utilisant une esperluette ( & ) devant elle pour créer un nouvel ensemble de données contenant une nouvelle colonne indiquant si chaque joueur a marqué plus de 20 points ou non :

/*assign value of 20 to macro variable*/
%let points_cutoff = 20;

/*use macro variable to create new column called good_player*/
data new_data;
 set my_data;
 good_player = points > &points_cutoff;
run;

/*view new dataset*/
proc print data=new_data;

Notez que la nouvelle colonne appelée good_player contient une valeur de 1 si la valeur de la colonne des points est supérieure à 20 ou une valeur de 0 si la valeur de la colonne des points n’est pas supérieure à 20 .

Exemple 2 : utiliser l’instruction %LET pour stocker la valeur de chaîne dans SAS

Nous pouvons également utiliser l’instruction %LET dans SAS pour créer une variable macro qui stocke une valeur de chaîne.

Le code suivant montre comment utiliser l’instruction %LET pour créer une variable appelée table_title qui contient une valeur de « Données de basket-ball » que nous pourrons ensuite référencer plus tard pour imprimer un titre pour l’ensemble de données :

/*create dataset*/
data my_data;
input team $ points;
datalines;
A 22
A 14
A 23
B 30
B 18
B 20
C 13
C 12
C 26
;
run;

/*assign string to macro variable*/
%let table_title = "Basketball Data";

/*print dataset with title*/
proc print data=my_data;
    title &table_title;
run;

L’ensemble de données contient le titre que nous avons spécifié dans la variable macro.

Note : Vous pouvez retrouver la documentation complète de l’instruction SAS LET   ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans SAS :

Comment utiliser le résumé de procédure dans SAS
Comment utiliser Proc Tabulate dans SAS
Comment utiliser le classement Proc dans SAS

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *