Sas: proc sql で where 演算子を使用する方法
SAS のPROC SQLステートメントでWHERE演算子を使用すると、特定の条件が満たされる行のみを返すことができます。
次の例は、次のシナリオでWHERE演算子を使用する方法を示しています。
- 条件が満たされる行を選択します。
- いくつかの条件のいずれかが満たされる行を選択します。
- 複数の条件が満たされる行を選択します。
次の例は、SAS の次のデータセットを使用した各シナリオでWHERE演算子を使用する方法を示しています。
/*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;
例 1:条件が満たされる行を選択する
次のコードは、 SQL PROCステートメントでWHERE演算子を使用して、チームが A に等しいデータセット内のすべての行を選択する方法を示しています。
/*select all rows where team is equal to A*/
proc sql ;
select *
from my_data
where team = 'A';
quit ;
返される行は、チームが A に等しい行のみです。
例 2:いくつかの条件のいずれかが満たされる行を選択する
次のコードは、 SQL PROCステートメントでWHERE演算子を使用して、チームが A に等しいかポイントが 30 より大きいデータセット内のすべての行を選択する方法を示しています。
/*select all rows where team is equal to A or points is greater than 30*/
proc sql ;
select *
from my_data
where team = 'A' or points > 30 ;
quit ;
返される行は、チームが A に等しい行、またはポイントが 30 より大きい行のみです。
例 3:複数の条件が満たされる行を選択する
次のコードは、 SQL PROCステートメントでWHERE演算子を使用して、チームが A に等しく、ポイントが 13 より大きいデータセット内のすべての行を選択する方法を示しています。
/*select all rows where team is equal to A and points is greater than 13*/
proc sql ;
select *
from my_data
where team = 'A' and points > 13 ;
quit ;
返される行は、チームが A に等しく、ポイントが 13 より大きい行のみです。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS: PROC SQL で IN 演算子を使用する方法
SAS: PROC SQL で UNION を使用する方法
SAS: PROC SQL での EXCEPT の使用方法