Sas:如何在 proc sql 中使用 union
您可以在 SAS 中的PROC SQL语句中使用UNION运算符来垂直组合两个数据集。
以下示例展示了如何在实践中使用UNION运算符。
示例:在 SAS 的 PROC SQL 中使用 UNION
假设我们在 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语句中使用UNION运算符将这两个数据集垂直组合并仅保留唯一的行:
/*combine tables vertically and only keep unique rows*/
proc sql ;
title 'data1 UNION data2';
select * from data1
union
select * from data2;
quit ;
请注意,两个数据集已垂直组合,并且仅保留唯一的行。
我们还可以在PROC SQL语句中使用UNION ALL运算符将这两个数据集垂直组合并保留所有行:
/*combine tables vertically and keep all rows*/
proc sql ;
title 'data1 UNION ALL data2';
select * from data1
union all
select * from data2;
quit ;
请注意,两个数据集已垂直组合,并且两个数据集中的所有行都保留,即使是重复的行。
其他资源
以下教程解释了如何在 SAS 中执行其他常见任务: