Sas: proc sql での except の使用方法
SAS のSQL PROCステートメントでEXCEPT演算子を使用すると、あるデータ セットにある、別のデータ セットにない行のみを返すことができます。
次の例は、 EXCEPT演算子を実際に使用する方法を示しています。
例: SAS の PROC SQL での EXCEPT の使用
SAS に、さまざまなバスケットボール選手に関する情報を含む次のデータセットがあるとします。
/*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;
そして、SAS に、さまざまなバスケットボール選手に関する情報も含まれる別のデータセットがあるとします。
/*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;
SQL PROCステートメントでEXCEPT演算子を使用すると、最初のデータ セットから 2 番目のデータ セットにない行のみを返すことができます。
/*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 ;
2 番目のデータ セットに属さない最初のデータ セットの行のみが返されることに注意してください。
EXCEPT演算子を使用して、最初のデータセットにない 2 番目のデータセットの行のみを返すこともできます。
/*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 ;
最初のデータ セットに属さない 2 番目のデータ セットの行のみが返されることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS: PROC SQL で UNION を使用する方法
SAS: グループごとに Proc Univariate を使用する方法
SAS: Proc コンテンツの使用方法