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

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *