Sas: jak używać except w proc sql


Możesz użyć operatora EXCEPT w instrukcji SQL PROC w SAS-ie, aby zwrócić tylko wiersze z jednego zbioru danych, których nie ma w innym zbiorze danych.

Poniższy przykład pokazuje, jak w praktyce używać operatora EXCEPT .

Przykład: użycie EXCEPT w PROC SQL w SAS-ie

Załóżmy, że mamy następujący zbiór danych w SAS-ie, który zawiera informacje o różnych koszykarzach:

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

Załóżmy, że mamy inny zbiór danych w SAS-ie, który zawiera również informacje o różnych koszykarzach:

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

Możemy użyć operatora EXCEPT w instrukcji SQL PROC , aby zwrócić tylko te wiersze z pierwszego zestawu danych, które nie znajdują się w drugim zestawie danych.

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

Należy pamiętać, że zwracane są tylko wiersze z pierwszego zestawu danych, które nie należą do drugiego zestawu danych.

Możemy również użyć operatora EXCEPT , aby zwrócić tylko wiersze z drugiego zbioru danych, które nie znajdują się w pierwszym zbiorze danych:

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

Należy pamiętać, że zwracane są tylko wiersze z drugiego zestawu danych, które nie należą do pierwszego zestawu danych.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w SAS-ie:

SAS: Jak używać UNION w PROC SQL
SAS: Jak używać Proc Univariate według grupy
SAS: Jak korzystać z zawartości Proc

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *