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 , чтобы выбирать только те строки, где команда равна 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 по группам

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *