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 の使用方法

コメントを追加する

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