全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2521 7
2016-08-02
)2_)QDM34@CJ4RB%RTSDSY3.png
二维码

扫码加我 拉你入群

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

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

全部回复
2016-8-2 21:58:21
这段程序应该没有什么错误,不确定你说的没跑出结果是指什么,如果log里有错误信息,可以看一下是什么原因;

看你在数据集中定义了label,如果是没显示label,就把print那里改成proc print data=b label;(英文版的SAS不支持中文的label,中文版的没问题)。

ps:这个程序可以不要option fmtsearch=(work)这一句,因为你的format运行之后本身就是存储在work下面,而且SAS默认的寻找format的位置首先也是work.
二维码

扫码加我 拉你入群

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

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

2016-8-2 22:53:45
wwang111 发表于 2016-8-2 21:58
这段程序应该没有什么错误,不确定你说的没跑出结果是指什么,如果log里有错误信息,可以看一下是什么原因; ...
老师,是proc print 过程并没有在output窗口显示,而数据集中的变量值也并没有成为新的format,
log 中一直提示如下:
965  PROC print data=b; 
ERROR 180-322: Statement is not valid or it is used out of proper order.
966  format year yeargro;
967  RUN;
也重新运行了一遍,结果还是如此。
纠结ing^^^


NOTE: The SAS System stopped processing this step because of errors.
二维码

扫码加我 拉你入群

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

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

2016-8-3 01:25:34
一直觉得 proc format 很蛋疼
新生成一个字段吧
data a;
input year;
cards;
1981
1982
1983
;
run;

data b;
set a;
select (year);
  when (1981)  y='m';
  when (1982)  y='n';
  otherwise;
end;
run;
二维码

扫码加我 拉你入群

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

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

2016-8-3 08:07:07
2286116865 发表于 2016-8-2 22:53
老师,是proc print 过程并没有在output窗口显示,而数据集中的变量值也并没有成为新的format,
log 中一 ...
你的data步里面并没有使用format语句,所以数据集中的变量是无法成为你定义的format的形式,你需要把proc format那一步放到data b;...的前面,然后在data步里面加上format yeargro.;,这样才能看到format.

至于proc print那一步出错,我不是很清楚原因,因为语句本身是没错的,要不然就关闭sas重新打开再运行,然后看一下完整的log,是否只有这一步有错误。
二维码

扫码加我 拉你入群

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

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

2016-8-3 08:31:48
wwang111 发表于 2016-8-3 08:07
你的data步里面并没有使用format语句,所以数据集中的变量是无法成为你定义的format的形式,你需要把proc ...
老师,data step 中我加入format后结果理想了,至于那个proc print过程,今早从新运行也正常了,log提示没什么大的错误,哈哈哈,谢谢老师!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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