Sas: come utilizzare l'istruzione if in proc sql
Sebbene non sia possibile utilizzare un’istruzione IF in PROC SQL in SAS, è possibile utilizzare l’operatore CASE per definire i valori che una variabile dovrebbe assumere in base a determinate condizioni.
I seguenti esempi mostrano come utilizzare in pratica l’operatore CASE con il seguente set di dati in SAS che contiene informazioni su vari giocatori di basket:
/*create dataset*/
data my_data;
input team $points;
datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data =my_data;
Esempio 1: utilizzo dell’operatore CASE con solo due risultati
Possiamo utilizzare l’operatore CASE in PROC SQL per generare una nuova colonna nel set di dati chiamata points_flag che assume un valore pari a 0 se il valore nella colonna punti è inferiore a 20 o un valore pari a 1 altrimenti:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0 else 1
end as points_flag
from my_data;
quit ;
Tieni presente che la colonna points_flag assume il valore 0 se il valore della colonna points è inferiore a 20 o il valore 1 altrimenti.
Esempio 2: utilizzo dell’operatore CASE con più di due risultati
Possiamo anche utilizzare l’operatore CASE in PROC SQL per generare una nuova colonna nel set di dati chiamata points_flag che assume un valore pari a 0 se il valore nella colonna punti è inferiore a 20, un valore pari a 1 se i punti sono inferiori a 35, o un valore pari a 2 altrimenti:
/*create new column called points_flag using case operator*/
proc sql ;
select *,
box
when points < 20 then 0
when points < 35 then 1 else 2
end as points_flag
from my_data;
quit ;
Tieni presente che la colonna points_flag assume il valore 0, 1 o 2 a seconda del valore corrispondente nella colonna points .
Nota : sentiti libero di utilizzare tutte le istruzioni quando desideri per generare tutti i valori diversi che desideri in una nuova colonna.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:
SAS: come utilizzare l’operatore WHERE in PROC SQL
SAS: come utilizzare l’operatore IN in PROC SQL
SAS: come utilizzare UPDATE in PROC SQL
SAS: come utilizzare CONTAINS in PROC SQL