作者Maninck (我是大天才^o^/)
站内Statistics
标题[程式] SAS 资料处理问题
时间Sun Dec 4 09:52:55 2011
[软体程式类别]:
SAS
[程式问题]:
资料处理
[软体熟悉度]:
低(1~3个月)
[问题叙述]:
目标:将资料A处理成资料B
目前我卡在底下程式码红色的部份
我想抓A资料里面ID栏位的资料,然後用SQL新增,但他一直抓不到ID栏位里面的资料。
还是说这样想根本是错的>_<
资料A
ID
01
02
资料B
ID YEAR
01 2001
01 2002
01 2003
02 2001
02 2002
02 2003
[程式范例]:
%MACRO initialdate (id,min ,max);
%DO year = &min %To &max;
proc sql;
insert into b ( id,disk_year) values ("&id","&year");
quit;
%End;
%MEND;
%MACRO abc;
data a ;
set a;
%let temp = id;
%initialdate(&temp,2001,2003);
run;
%MEND;
%abc;
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.168.89.77
1F:推 west1996:macro里面的那个SQL的写法应该就不合规格了? 12/04 12:05
2F:→ Maninck:他是合规格的,但他写入的资料不是我想要的XD 12/04 12:23
3F:→ Maninck:写入後他会变成 id 2001 id 2002 id 2003 12/04 12:24
4F:→ Maninck:但我希望的是01 2001 01 2002 01 2003 = = 12/04 12:24
5F:→ wasabee:%let temp=id; => call symput("temp",id); 12/04 23:50
6F:→ Maninck:感谢~~他写入了01 2001 01 2002 01 2003 12/05 07:30
7F:→ Maninck:但02 2001 02 2002 03 2003 写不进去@@ 12/05 07:31
8F:→ Maninck:我再来研究看看哪边出问题了@@ 12/05 07:31