Sas: come utilizzare l'operatore in in proc sql


È possibile utilizzare l’operatore IN nell’istruzione PROC SQL in SAS per restituire solo le righe in cui una variabile in un set di dati contiene un valore in un elenco.

L’esempio seguente mostra come utilizzare in pratica l’operatore IN .

Esempio: utilizzo dell’operatore IN in PROC SQL 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 12
At 14
At 15
At 18
B 31
B 32
C 35
C 36
C40
D 28
E20
E 21
;
run ;

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

Possiamo utilizzare l’operatore IN in PROC SQL per selezionare solo le righe in cui team è uguale ad A, B o E:

 /*select all rows where team is A, B, or E*/
proc sql ;
   select *
   from my_data
   where team in ('A', 'B', 'E');
quit ; 

Tieni presente che vengono restituite solo le righe in cui la squadra è uguale ad A, B o E.

L’opposto dell’operatore IN in PROC SQL è NOT IN , che seleziona le righe in cui alcune variabili in un set di dati non contengono un valore in un elenco.

Il codice seguente mostra come utilizzare l’operatore NOT IN per selezionare tutte le righe in cui team non è uguale ad A, B o E:

 /*select all rows where team is not A, B, or E*/
proc sql ;
   select *
   from my_data
   where team not in ('A', 'B', 'E');
quit ; 

Tieni presente che vengono restituite solo le righe in cui la squadra non è uguale ad A, B o E.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in SAS:

SAS: come utilizzare UNION in PROC SQL
SAS: come utilizzare EXCEPT in PROC SQL
SAS: come utilizzare Proc Univariate per gruppo

Aggiungi un commento

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