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 演算子を使用する方法