楼主: xmuzfd
1858 3

请高手看看我这段MACRO程序是怎么错的? [推广有奖]

  • 0关注
  • 0粉丝

高中生

97%

还不是VIP/贵宾

-

威望
0
论坛币
1820 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
538 点
帖子
26
精华
0
在线时间
30 小时
注册时间
2006-11-17
最后登录
2024-4-25

楼主
xmuzfd 发表于 2008-1-16 18:35:00 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币

偶想生成十九个新的表格,于是用宏试了试,不过错得厉害,不知道怎么改,烦请高手帮忙看看

%macro collapse;
%do i=1 %to 19;
%let j=%eval(1987+&i);
proc sql;
create table ch.y&i as select ch.nyear&i.*,full04.* from ch.nyear&i, ch.full04
where nyear&i.code=full04.code and full04.year='&j';quit;
%end;
run;
%mend collapse;
%collapse;

二维码

扫码加我 拉你入群

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

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

关键词:Macro CRO acr Mac Collapse 程序 高手 Macro

回帖推荐

nkwilling 发表于3楼  查看完整内容

除了以上解析的两个问题外,建议你在SAS中用SQL关联表使用关键字JOIN;特别是对于多表链接的情况更是如此.因此,建议你的程序改成:%macro collapse;%do i=1 %to 19;%let j=%eval(1987+&i); proc sql;create table ch.y&i as select a*,b* from ch.nyear&i as ajoin ch.full04 as bon a.code=b.codeand b.year="&j";quit;%end;run;%mend collapse;%collapse;没有调试,请自行调试.

tianhuo2 发表于2楼  查看完整内容

(1) Sql方面错误   select ch.nyear&i.*,full04.*   这里的ch.不用了(2) 宏方面错误在' '里的宏变量是不解析的,所以要把' '改成"  "

本帖被以下文库推荐

沙发
tianhuo2 发表于 2008-1-17 10:02:00

(1) Sql方面错误 

 select ch.nyear&i.*,full04.*   这里的ch.不用了

(2) 宏方面错误

在' '里的宏变量是不解析的,所以要把' '改成"  "

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

总评分: 经验 + 3  论坛币 + 10   查看全部评分

藤椅
nkwilling 发表于 2008-1-17 13:03:00

除了以上解析的两个问题外,建议你在SAS中用SQL关联表使用关键字JOIN;特别是对于多表链接的情况更是如此.

因此,建议你的程序改成:

%macro collapse;
%do i=1 %to 19;
%let j=%eval(1987+&i);
proc sql;
create table ch.y&i
as
select
a*,
b*
from ch.nyear&i as a
join ch.full04 as b
on a.code=b.code
and b.year="&j"
;
quit;
%end;
run;
%mend collapse;
%collapse;

没有调试,请自行调试.

已有 1 人评分经验 论坛币 收起 理由
bakoll + 3 + 10 精彩帖子

总评分: 经验 + 3  论坛币 + 10   查看全部评分

板凳
xmuzfd 发表于 2008-1-17 16:06:00

多谢高手指点!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 14:38