全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2135 8
2013-05-15
悬赏 200 个论坛币 已解决
请问高手我如下的程序错在哪里,我运行后会出现如下的错误(log窗口),我的问题是:1.ERROR 85-322: 期望格式名。错误怎样纠正。2.为什么aaa1只有15个变量(aaa中有15个变量,aaa1新增加3个)3。aaa1到最后怎么有231240 个记录。(aaa中只有19270个)。谢谢高手指点!!


谢谢指点!!

data aaa1;
set aaa(obs=0 keep=cardno--month);
month_group="";
set aaa(obs=0 keep=sex--age);
age_group1="";
age_group2="";
set aaa(obs=0 keep=ca--zn2);
format month_group $8 age_group1 $8 age_group2 $8;
run;

proc append base=aaa1 data=aaa ;
run;


19787  data aaa1;19788  set aaa(obs=0 keep=cardno--month);19789  month_group="";19790  set aaa(obs=0 keep=sex--age);19791  age_group1="";19792  age_group2="";19793  set aaa(obs=0 keep=ca--zn2);19794  format month_group $8 age_group1 $8 age_group2 $8;                           -                           85                           76                             ----------                             202ERROR 85-322: 期望格式名。
ERROR 76-322: 语法错误,语句将被忽略。
ERROR 202-322: 该选项或参数不可识别,将被忽略。
19795  run;
NOTE: SAS 系统由于错误而停止了该步的处理。WARNING: 数据集 aaa1 可能不完整。该步停止时,共有 0 个观测和 17 个变量。WARNING: 数据集 aaa1 由于该步已停止,而没有被替换。NOTE: “DATA 语句”所用时间(总处理时间):      实际时间         0.01 秒      CPU 时间         0.00 秒

1979619797  proc append base=aaa1 data=aaa ;19798  run;
NOTE: 正在追加 aaa 至 aaa1。WARNING: 变量 age_group 在 DATA 文件中没有找到。NOTE: 从数据集 aaa 读取了 19270 个观测。NOTE: 添加了 19270 个观测。NOTE: 数据集 aaa1 有 231240 个观测和 15 个变量。NOTE: “PROCEDURE APPEND”所用时间(总处理时间):      实际时间         0.01 秒      CPU 时间         0.01 秒









最佳答案

pl172231 查看完整内容

你的期望格式名错误是因为你的format语句的format month_group $8 age_group1 $8 age_group2 $8;数字后面忘记加句号了,应该是format month_group $8. age_group1 $8 age_group2 $8.;至于你的其它错误就太多了,你可能对sas的工作机制很不熟悉
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-5-15 22:30:00
你的期望格式名错误是因为你的format语句的format month_group $8 age_group1 $8 age_group2 $8;数字后面忘记加句号了,应该是format month_group $8. age_group1 $8 age_group2 $8.;至于你的其它错误就太多了,你可能对sas的工作机制很不熟悉
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-15 22:38:17
谢谢pl172231!可否请您多指点一下!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-15 22:42:42
1format语句必须放在set语句前面
2没搞懂你想干什么
3如果仅仅是想先创建一个加了三个变量的表再把数据追加进去那么
data aaa1;
format agegroup$ 6. agegroup2$ 6. monthgroup$ 6.;
set aaa;
agegroup='';
agegroup2='';
monthgroup='';
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-15 22:43:59
谢谢pl172231!我在8后面增加“.”后,程序就运行正常。再次谢谢!!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-5-15 22:49:07
你不要得过且过啦,你的程序虽然可以运行但是它写的不好,希望你能把朱世武写的书买一本看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群