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 コンテンツの使用方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です