Sas: proc sql で in 演算子を使用する方法
SAS のPROC SQLステートメントでIN演算子を使用すると、データセット内の変数にリスト内の値が含まれる行のみを返すことができます。
次の例は、 IN演算子を実際に使用する方法を示しています。
例: SAS の PROC SQL での 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;
PROC SQLでIN演算子を使用すると、チームが A、B、または E に等しい行のみを選択できます。
/*select all rows where team is A, B, or E*/
proc sql ;
select *
from my_data
where team in ('A', 'B', 'E');
quit ;
チームが A、B、または E に等しい行のみが返されることに注意してください。
PROC SQLのIN演算子の反対はNOT INで、データセット内の一部の変数にリスト内の値が含まれていない行を選択します。
次のコードは、 NOT IN演算子を使用して、チームが A、B、または E に等しくないすべての行を選択する方法を示しています。
/*select all rows where team is not A, B, or E*/
proc sql ;
select *
from my_data
where team not in ('A', 'B', 'E');
quit ;
チームが A、B、または E に等しくない行のみが返されることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS: PROC SQL で UNION を使用する方法
SAS: PROC SQL での EXCEPT の使用方法
SAS: グループごとに Proc Univariate を使用する方法