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 по группам