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

Aggiungi un commento

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