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

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *