Sas: come utilizzare except in proc sql


È possibile utilizzare l’operatore EXCEPT nell’istruzione SQL PROC in SAS per restituire solo le righe in un set di dati che non si trovano in un altro set di dati.

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

Esempio: utilizzo di EXCEPT in PROC SQL in SAS

Supponiamo di avere il seguente set di dati in SAS che contiene informazioni su vari giocatori di basket:

 /*create first dataset*/
data data1;
    input team $points;
    datalines ;
AT 12
At 14
At 15
At 18
At 20
At 22
;
run ;

/*view first dataset*/
proc print data =data1;

E supponiamo di avere un altro set di dati in SAS che contiene anche informazioni su vari giocatori di basket:

 /*create second dataset*/
data data2;
    input team $points;
    datalines ;
AT 12
At 14
B23
B25
B29
B 30
;
run ;

/*view second dataset*/
proc print data =data2; 

Possiamo utilizzare l’operatore EXCEPT nell’istruzione SQL PROC per restituire solo le righe del primo set di dati che non si trovano nel secondo set di dati.

 /*only return rows from first dataset that are not in second dataset*/
proc sql ;
   title 'data1 EXCEPT data2';
   select * from data1
   except
   select * from data2;
quit ; 

Tieni presente che vengono restituite solo le righe del primo set di dati che non appartengono al secondo set di dati.

Possiamo anche utilizzare l’operatore EXCEPT per restituire solo le righe del secondo set di dati che non si trovano nel primo set di dati:

 /*only return rows from second dataset that are not in first dataset*/
proc sql ;
   title 'data2 EXCEPT data1';
   select * from data2
   except
   select * from data1;
quit ; 

Tieni presente che vengono restituite solo le righe del secondo set di dati che non appartengono al primo set di dati.

Risorse addizionali

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

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

Aggiungi un commento

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