Sas: як використовувати оператор in у proc sql


Ви можете використовувати оператор IN у операторі PROC SQL у SAS, щоб повертати лише рядки, у яких змінна в наборі даних містить значення зі списку.

У наступному прикладі показано, як використовувати оператор IN на практиці.

Приклад: використання оператора IN у PROC SQL у SAS

Припустімо, що в SAS є такий набір даних, який містить інформацію про різних баскетболістів:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
AT 12
At 14
At 15
At 18
B 31
B 32
C 35
C 36
C40
D 28
E20
E 21
;
run ;

/*view dataset*/
proc print data =my_data;

Ми можемо використовувати оператор IN у PROC SQL , щоб вибрати лише ті рядки, де team дорівнює A, B або E:

 /*select all rows where team is A, B, or E*/
proc sql ;
   select *
   from my_data
   where team in ('A', 'B', 'E');
quit ; 

Зауважте, що повертаються лише ті рядки, де команда дорівнює A, B або E.

Протилежністю оператору IN у PROC SQL є NOT IN , який вибирає рядки, у яких деякі змінні в наборі даних не містять значення в списку.

У наведеному нижче коді показано, як використовувати оператор NOT IN для вибору всіх рядків, де команда не дорівнює A, B або E:

 /*select all rows where team is not A, B, or E*/
proc sql ;
   select *
   from my_data
   where team not in ('A', 'B', 'E');
quit ; 

Зауважте, що повертаються лише рядки, де команда не дорівнює A, B або E.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в SAS:

SAS: як використовувати UNION у PROC SQL
SAS: як використовувати EXCEPT у PROC SQL
SAS: як використовувати Proc Univariate за групою

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

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