全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2641 4
2014-08-14
SAS跑其它程序正常,但在读macro程序时跑得特别特别慢,还不是运行。
一直显示正在运行。
按道理,应该光速实现阿。

比如说下面的例子,
%macro aaa (in,out);
data &out;
set ∈

if substr(date,
1,2) in( '10','11','12') then do;
month= substr(date,
1,2) ;
if substr(date,
5,1)='/' then year=substr(date,6,4);
else year=substr(date,
7,4);
output;
end;

run;
%mend aaa;
SAS就一直在那读。。。因为没读完,也没有LOG可以看。
请教各位,这是为什么啊?

二维码

扫码加我 拉你入群

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

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

全部回复
2014-8-15 07:08:38
一直读具体是什么?

我能想到的一个可能的原因是宏的定义中有参数%macro aaa (in,out);, 但在调用的时候没有加括号,而是直接%aaa.
二维码

扫码加我 拉你入群

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

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

2014-8-15 08:12:10
这段程序貌似没有问题, 但 date应该是字符变量.  
貌似在前面编译或运行的宏中有不匹配的引号,括号,分号等,  既缺少  ' " ; ).

Try to 多次运行 下面这行 code

*'; *"; *); */; *;;  %mend;  run;

直到在log中看到:ERROR: No matching %MACRO statement for this %MEND statement.

再不行,  就只能重新起动 sas了。
二维码

扫码加我 拉你入群

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

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

2014-8-15 21:27:30
pobel 发表于 2014-8-15 07:08
一直读具体是什么?

我能想到的一个可能的原因是宏的定义中有参数%macro aaa (in,out);, 但在调用的时候 ...
一直读的表现就是,RUN按钮灰色,stop红色。
而且这里只是读如上这一段程序,还不是macro的调用。
每次数据更新时,这段程序都运行的,以前都工作正常,最近几次出现了这个问题。
二维码

扫码加我 拉你入群

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

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

2014-8-15 22:20:53
谢谢 pobel,yongyitian
问题解决了。我找IT部门把我的帐号清除,然后重新登陆服务器,现在就好了。
谢谢!!
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

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