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 SQLIN运算符的反义词是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

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注