下面的例子是介绍Append过程的一个选项,force。当data数据集里的变量,在base数据集里却没有,或者data数据集里的变量与base数据集里的同一变量的格式不一致时,这里append过程不会执行。如果要强制执行,则加入force选项,格式和变量个数都以base数据集为准。
data weather;
input date mmddyy8. temp sunhrs;
cards;
01-01-90 35 9.3
01-02-90 34 9.33
01-03-90 37 9.35
01-04-90 38 9.39
;
proc print data= weather;
format date date7.;
title 'Weather Information Before Appending';
run;
data daily;
input date mmddyy8. temp sunhrs precip;
cards;
01-05-90 35 9.40 1.1
;
run;
proc print data=daily;
format date date7.;
title 'New Weather Information Including PRECIP';
run;
proc append base= weather data=daily force;
run;
proc print data= weather;
format date date7.;
title 'Weather Information After Appending';
run;
使用append过程步的小技巧:
1 为了减少出现错误或减少warning,尽量少用force选项,而是尽量保证两个数据集有完全相同的变量和格式。
2 data= 这个选项最好明确给定。如果不明确指定,则系统将赋为最新创建的数据集
3 append最好只处理work目录下的数据集,也就是尽量不要用于处理永久性的数据集
4 为了增加append过程的效率,最好将较大数据量的数据集作为base。
例子
data master;
do i = 1 to 5;
j = 10;
output;
end;
data add;
do i = 15 to 20;
j = 200;
output;
end;
proc append base=master data=add;
run;
proc print data=master;
run;
data weather;
input date mmddyy8. temp sunhrs;
cards;
01-01-90 35 9.3
01-02-90 34 9.33
01-03-90 37 9.35
01-04-90 38 9.39
;
proc print data= weather;
format date date7.;
title 'Weather Information Before Appending';
run;
data daily;
input date mmddyy8. temp sunhrs precip;
cards;
01-05-90 35 9.40 1.1
;
run;
proc print data=daily;
format date date7.;
title 'New Weather Information Including PRECIP';
run;
proc append base= weather data=daily force;
run;
proc print data= weather;
format date date7.;
title 'Weather Information After Appending';
run;
使用append过程步的小技巧:
1 为了减少出现错误或减少warning,尽量少用force选项,而是尽量保证两个数据集有完全相同的变量和格式。
2 data= 这个选项最好明确给定。如果不明确指定,则系统将赋为最新创建的数据集
3 append最好只处理work目录下的数据集,也就是尽量不要用于处理永久性的数据集
4 为了增加append过程的效率,最好将较大数据量的数据集作为base。
例子
data master;
do i = 1 to 5;
j = 10;
output;
end;
data add;
do i = 15 to 20;
j = 200;
output;
end;
proc append base=master data=add;
run;
proc print data=master;
run;