Sas:如何在 proc sql 中使用 in 运算符
您可以在 SAS 的PROC SQL语句中使用IN运算符,仅返回数据集中的变量包含列表中的值的行。
以下示例展示了如何在实践中使用IN运算符。
示例:在 SAS 的 PROC SQL 中使用 IN 运算符
假设我们在 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;
我们可以在PROC SQL中使用IN运算符来仅选择 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 ;
请注意,仅返回 team 等于 A、B 或 E 的行。
PROC SQL中IN运算符的反义词是NOT IN ,它选择数据集中某些变量不包含列表中的值的行。
以下代码演示如何使用NOT IN运算符选择 team 不等于 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 ;
请注意,仅返回 team 不等于 A、B 或 E 的行。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务:
SAS:如何在 PROC SQL 中使用 UNION
SAS:如何在 PROC SQL 中使用 EXCEPT
SAS:如何按组使用 Proc Univariate