楼主: jpj根号2
2643 1

[统计软件] 宏程序报错,error:宏SQL仍在执行,无法定义,将编为哑宏 [推广有奖]

  • 0关注
  • 0粉丝

本科生

0%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
2099 点
帖子
22
精华
0
在线时间
96 小时
注册时间
2018-1-19
最后登录
2020-10-28

楼主
jpj根号2 发表于 2018-3-7 09:38:02 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
宏代码一直提示错误,如下:error:宏SQL仍在执行,无法重新定义,将编译哑宏:
具体代码如下:
proc sort data=jpj1.dm; by siteid subjid; run;
options nodate nonumber;
%macro kds(km,b1,new,condit);
data &km.(keep=siteid subjid &b1.);
set &new.;
if &condit. then output;
run;
%mend kds;
%kds(a144,DMDH1C DMDODOS,jpj1.dm,(DMDH1C='1' and DMDODOS^=''))
%macro sql (an,bn,yj,ms);
data &an.;
set &an.;
xiangmu="逻辑问题";
wenti="饮酒史勾选&yj.,但&ms.不为空,请核查。";
huida='';
run;
proc sql;
create table &bn. as
select siteid,subjid,xiangmu,wenti,huida from &an.
quit;
%mend sql;
%sql(a144,b144,饮酒,描述)
无论在定义和启动宏SQL它括号里的参数bn同时在第2位,还是同时在第4位,这段代码均一直报错,错误如上的描述,望论坛大神不吝赐教啊,是在是想不通。​
二维码

扫码加我 拉你入群

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

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

关键词:Error 无法定义 sql err 宏程序

沙发
jpj根号2 发表于 2018-3-7 10:18:05
更新一下问题,因为宏参数没有写等号意味着宏参数为位置参数,必须按位置顺序出现,在定义宏sql的时候把参数bn调到最后,即宏sql的所有参数均为按照顺序出现,启动宏sql的时候参数bn也调到最后,跟定义的参数顺序一致,这样的话%kds(即启动宏kds)是可以跑出来结果的,但是从定义宏SQL到最后启动宏SQL这部分无法出结果,日志上只是把这段代码又写了一遍,没有任何说明,往高手指点迷津(顺便提一下,安装的SAS为9.4破解版),谢谢啦1

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-11 00:48