Sas:如何在 proc sql 中使用 except
您可以在 SAS 的SQL PROC语句中使用EXCEPT运算符,仅返回一个数据集中不在另一数据集中的行。
以下示例展示了如何在实践中使用EXCEPT运算符。
示例:在 SAS 的 PROC SQL 中使用 EXCEPT
假设我们在 SAS 中有以下数据集,其中包含有关各种篮球运动员的信息:
/*create first dataset*/
data data1;
input team $points;
datalines ;
AT 12
At 14
At 15
At 18
At 20
At 22
;
run ;
/*view first dataset*/
proc print data =data1;
假设我们在 SAS 中有另一个数据集,其中也包含有关各种篮球运动员的信息:
/*create second dataset*/
data data2;
input team $points;
datalines ;
AT 12
At 14
B23
B25
B29
B 30
;
run ;
/*view second dataset*/
proc print data =data2;
我们可以在SQL PROC语句中使用EXCEPT运算符来仅返回第一个数据集中不在第二个数据集中的行。
/*only return rows from first dataset that are not in second dataset*/
proc sql ;
title 'data1 EXCEPT data2';
select * from data1
except
select * from data2;
quit ;
请注意,仅返回第一个数据集中不属于第二个数据集的行。
我们还可以使用EXCEPT运算符仅返回第二个数据集中不在第一个数据集中的行:
/*only return rows from second dataset that are not in first dataset*/
proc sql ;
title 'data2 EXCEPT data1';
select * from data2
except
select * from data1;
quit ;
请注意,仅返回第二个数据集中不属于第一个数据集的行。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务:
SAS:如何在 PROC SQL 中使用 UNION
SAS:如何按组使用 Proc Univariate
SAS:如何使用 Proc 内容