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 SQLCONTAINS演算子を使用すると、チームの名前のどこかに「avs」パターンが含まれる行のみを選択できます。

 /*select all rows where team contains 'avs'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs';
quit ; 

チームの名前のどこかに「avs」が含まれている行のみが返されることに注意してください。

例 2: 変数に複数のパターンのいずれかが含まれる行を選択する

PROC SQLCONTAINS演算子を使用すると、チームの名前のどこかに「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 SQLCONTAINS演算子の反対は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 演算子を使用する方法

コメントを追加する

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