Sas: come utilizzare l'operatore where in proc sql


È possibile utilizzare l’operatore WHERE nell’istruzione PROC SQL in SAS per restituire solo le righe in cui vengono soddisfatte determinate condizioni.

Gli esempi seguenti mostrano come utilizzare l’operatore WHERE nei seguenti scenari:

  • Seleziona le righe in cui è soddisfatta una condizione.
  • Seleziona le righe in cui è soddisfatta una delle diverse condizioni.
  • Seleziona le righe in cui sono soddisfatte più condizioni.

Gli esempi seguenti mostrano come utilizzare l’operatore WHERE in ogni scenario con il seguente set di dati in SAS:

 /*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; 

Esempio 1: seleziona le righe in cui è soddisfatta una condizione

Il codice seguente mostra come utilizzare l’operatore WHERE nell’istruzione SQL PROC per selezionare tutte le righe nel set di dati in cui team è uguale ad A:

 /*select all rows where team is equal to A*/
proc sql ;
   select *
   from my_data
   where team = 'A';
quit ;

Le uniche righe restituite sono quelle in cui la squadra è uguale ad A.

Esempio 2: selezionare le righe in cui è soddisfatta una delle diverse condizioni

Il codice seguente mostra come utilizzare l’operatore WHERE nell’istruzione SQL PROC per selezionare tutte le righe nel set di dati in cui la squadra è uguale ad A o i punti sono maggiori di 30:

 /*select all rows where team is equal to A or points is greater than 30*/
proc sql ;
   select *
   from my_data
   where team = 'A' or points > 30 ;
quit ;

Le uniche righe restituite sono quelle in cui la squadra è uguale ad A o i punti sono maggiori di 30:

Esempio 3: seleziona le righe in cui sono soddisfatte più condizioni

Il codice seguente mostra come utilizzare l’operatore WHERE nell’istruzione SQL PROC per selezionare tutte le righe nel set di dati in cui la squadra è uguale ad A e i punti sono maggiori di 13:

 /*select all rows where team is equal to A and points is greater than 13*/
proc sql ;
   select *
   from my_data
   where team = 'A' and points > 13 ;
quit ;

Le uniche righe restituite sono quelle in cui la squadra è uguale ad A e i punti sono maggiori di 13:

Risorse addizionali

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

SAS: come utilizzare l’operatore IN in PROC SQL
SAS: come utilizzare UNION in PROC SQL
SAS: come utilizzare EXCEPT in PROC SQL

Aggiungi un commento

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