Come utilizzare l'istruzione %let in sas (con esempi)
È possibile utilizzare l’istruzione %LET in SAS per creare macro variabili in grado di memorizzare valori che è possibile utilizzare successivamente nel programma.
Gli esempi seguenti mostrano due modi comuni di utilizzare nella pratica l’istruzione %LET .
Esempio 1: utilizzare l’istruzione %LET per memorizzare un valore numerico in SAS
Supponiamo di avere il seguente set di dati in SAS che contiene informazioni su vari giocatori di basket:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run;
/*view dataset*/
proc print data =my_data;
Possiamo usare l’istruzione %LET per creare una macro variabile chiamata points_cutoff che ha un valore di 20 .
Possiamo quindi fare riferimento a questa variabile in seguito utilizzando una e commerciale ( & ) davanti ad essa per creare un nuovo set di dati contenente una nuova colonna che indica se ciascun giocatore ha segnato più di 20 punti o meno:
/*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;
Tieni presente che la nuova colonna denominata good_player contiene un valore pari a 1 se il valore della colonna dei punti è maggiore di 20 o un valore pari a 0 se il valore della colonna dei punti non è maggiore di 20 .
Esempio 2: utilizzare l’istruzione %LET per archiviare il valore della stringa in SAS
Possiamo anche utilizzare l’istruzione %LET in SAS per creare una macro variabile che memorizzi un valore stringa.
Il codice seguente mostra come utilizzare l’istruzione %LET per creare una variabile chiamata table_title che contiene un valore “Dati basket” a cui possiamo fare riferimento in seguito per stampare un titolo per il set di dati:
/*create dataset*/
data my_data;
input team $points;
datalines ;
At 22
At 14
At 23
B 30
B 18
B20
C13
C12
C26
;
run ;
/*assign string to macro variable*/
%let table_title = " Basketball Data ";
/*print dataset with title*/
proc print data =my_data;
title &table_title;
run ;
Il set di dati contiene il titolo specificato nella variabile macro.
Nota : è possibile trovare la documentazione completa dell’istruzione SAS LET qui .
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
Come utilizzare il riepilogo della procedura in SAS
Come utilizzare Proc Tabulate in SAS
Come utilizzare le regole di confronto Proc in SAS