Proc追加复制(SAS)

时间:2018-10-05 19:02:04

标签: sas

我正在处理SAS问题,我需要附加数据。数据运行成功,但是每次我运行程序时都会创建重复项。

请检查我的代码和表格的屏幕截图:

问题:通过将数据文件“ Hyundai”附加到在问题3中首次创建的文件中,来创建新文件“ Total_Sales”。

# Bootstrap components
org.springframework.cloud.bootstrap.BootstrapConfiguration=<package>.ConfigClientBootstrapConfiguration

现在,我使用以下代码进行追加:

/*Problem 3*/:
data avik1.var1;
length uniqueid $50 Manufacturer $ 50 Model $20 Sales_in_thousands 8 _4_year_resale_value 8 Price_in_thousands 8;
retain uniqueid Manufacturer Model Latest_Launch Sales_in_thousands _4_year_resale_value Price_in_thousands;
set avik1.conc(drop= Vehicle_type Engine_size Horsepower Wheelbase Width Length Curb_weight Fuel_capacity Fuel_efficiency );
informat Latest_Launch date9.;
format Latest_Launch ddmmyy10.;
run;
proc print data = avik1.var1;
run;

/* Data To be Appended */
data avik1.hyundai;
length uniqueid $ 50 Manufacturer $ 50 Model $20 Sales_in_thousands 8 _4_year_resale_value 8;
informat Latest_Launch date7. ;
format Latest_Launch ddmmyy10.;
input Manufacturer $ Model $ Sales_in_thousands _4_year_resale_value Latest_Launch;
uniqueid=(Model||Manufacturer);
cards;
Hyundai Tuscon 16.919 16.36 2Feb12
Hyundai i45 39.384 19.875 3Jun11
Hyundai Verna 14.114 18.225 4Jan12
Hyundai Terracan 8.558 29.775 10Mar11
;
run;
Proc Print data = avik1.hyundai;
run;

该程序运行,但是得到了我可以查看图像的重复项 Screenshot in Yellow Mark Shows Duplicates

我是SAS新手,非常感谢您对这个问题的回答和解决方案。还请告诉我为什么会这样。

谢谢!

1 个答案:

答案 0 :(得分:2)

您是否运行了两次?我正在猜测,但这可能是您看到重复的原因。我会尽力解释。

在此处的附加代码中,您将结合使用var1和现代来创建新的数据集total_sales:

data avik1.total_sales;
set avik1.var1 avik1.hyundai;

在下面的代码中,您并没有创建新的数据集,而是通过添加现代的记录来扩展var1。

proc append base=avik1.var1 new=avik1.hyundai force;
run;

如果您运行了此proc追加,然后再次运行了第一个数据步骤,则您将拥有所有现代记录的副本,因为您正在使用EXPANDED var1并重新添加了现代记录。

因此,要点是,要回答原始问题,完全不需要proc附加过程。您只需完成数据步骤即可实现。