Sas: proc sql での contains の使用方法
SAS のSQL PROCステートメントでCONTAINS演算子を使用すると、データセット内の変数に文字列パターンが含まれる行のみを返すことができます。
次の例は、さまざまなバスケットボール選手に関する情報を含む SAS の次のデータセットで実際にCONTAINS演算子を使用する方法を示しています。
 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;
/*view dataset*/
proc print data =my_data;

例 1: 変数にパターンが含まれる行を選択する
PROC SQLでCONTAINS演算子を使用すると、チームの名前のどこかに「avs」パターンが含まれる行のみを選択できます。
 /*select all rows where team contains 'avs'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs';
quit ; 

チームの名前のどこかに「avs」が含まれている行のみが返されることに注意してください。
例 2: 変数に複数のパターンのいずれかが含まれる行を選択する
PROC SQLでCONTAINS演算子を使用すると、チームの名前のどこかに「avs」パターンまたは「ics」パターンが含まれる行のみを選択できます。
 /*select all rows where team contains 'avs' or 'ics'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs' or team contains 'ics';
quit ; 

チームの名前のどこかに「avs」または「ics」が含まれている行のみが返されます。
例 3: 変数にパターンが含まれていない行を選択する
PROC SQLのCONTAINS演算子の反対はNOT CONTAINSで、データセット内の特定の変数に特定の文字列パターンが含まれていない行を選択します。
次のコードは、 NOT CONTAINS演算子を使用して、チーム名に「avs」が含まれていないすべての行を選択する方法を示しています。
 /*select all rows where team does not contain 'avs'*/
proc sql ;
   select *
   from my_data
   where team not contains 'avs';
quit ; 

チームの名前のどこかに「avs」が含まれていない行のみが返されることに注意してください。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
 SAS: PROC SQL で UNION を使用する方法
SAS: PROC SQL での EXCEPT の使用方法
SAS: PROC SQL で IN 演算子を使用する方法
SAS: PROC SQL で WHERE 演算子を使用する方法
