Sas: как использовать contains в proc sql
Вы можете использовать оператор CONTAINS в инструкции SQL PROC в SAS, чтобы возвращать только те строки, в которых переменная в наборе данных содержит строковый шаблон.
В следующих примерах показано, как на практике использовать оператор CONTAINS со следующим набором данных в SAS, содержащим информацию о различных баскетболистах:
/*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: выберите строки, в которых переменная содержит шаблон
Мы можем использовать оператор CONTAINS в PROC SQL , чтобы выбирать только те строки, где команда содержит шаблон «avs» где-то в имени:
/*select all rows where team contains 'avs'*/
proc sql ;
select *
from my_data
where team contains 'avs';
quit ;
Обратите внимание, что возвращаются только те строки, где где-то в имени команды содержится слово «avs».
Пример 2. Выберите строки, в которых переменная содержит один из нескольких шаблонов.
Мы можем использовать оператор CONTAINS в PROC SQL , чтобы выбрать только те строки, где команда содержит шаблон «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: выберите строки, в которых переменная не содержит шаблона
Противоположностью оператора CONTAINS в PROC SQL является оператор 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: как использовать UNION в PROC SQL
SAS: как использовать EXCEPT в PROC SQL
SAS: как использовать оператор IN в PROC SQL
SAS: как использовать оператор WHERE в PROC SQL