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 内容

添加评论

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