全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4241 13
2015-04-10
悬赏 8 个论坛币 已解决
有35张表,表名分别为ds201001-ds201211,表结构完全一样,怎么才能用宏的方法将35张表合并追加。
目前遇到的困难是如何才能让循环按照日期格式进位。求大神帮忙。。。。
%macro set;
data ds;
set %do i=1 %to 35;
  *******;
%end;
%mend set;

%set;

最佳答案

lpclimber 查看完整内容

楼主参考下这一段,希望你能用上 data _null_; /* The following statement creates expected results. */ do i=0 to 34; date1=intnx('month', '1jan2010'd, i, 'same'); put date1= yymmn6. ; end; run;
二维码

扫码加我 拉你入群

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

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

全部回复
2015-4-10 11:12:41
楼主参考下这一段,希望你能用上


data _null_;
      /* The following statement creates expected results. */
do i=0 to 34;
   date1=intnx('month', '1jan2010'd, i, 'same');  
   put date1= yymmn6. ;
  end;
run;
二维码

扫码加我 拉你入群

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

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

2015-4-10 11:40:56
帮帮忙呀,各位,脑袋想的都要秀逗了,再次谢过各位大神了
二维码

扫码加我 拉你入群

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

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

2015-4-10 23:09:09
001-211 不是211个吗?
二维码

扫码加我 拉你入群

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

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

2015-4-11 11:06:58
teqel 发表于 2015-4-10 23:09
001-211 不是211个吗?
不是啊,文件名代表的意思是从2010年01月到2012年11月的,所以是35张表,因此宏在循环的时候要按照日期的格式来循环,因此很头痛
二维码

扫码加我 拉你入群

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

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

2015-4-11 12:55:47
data _null_;
      /* The following statement creates expected results. */
do i=0 to 34;
   date1=intnx('month', '1jan2010'd, i, 'same');  
   put date1= yymmn6. ;
  end;
run;

结果如下:
date1=201001
date1=201002
date1=201003
date1=201004
date1=201005
date1=201006
date1=201007
date1=201008
date1=201009
date1=201010
date1=201011
date1=201012
date1=201101
date1=201102
date1=201103
date1=201104
date1=201105
date1=201106
date1=201107
date1=201108
date1=201109
date1=201110
date1=201111
date1=201112
date1=201201
date1=201202
date1=201203
date1=201204
date1=201205
date1=201206
date1=201207
date1=201208
date1=201209
date1=201210
date1=201211

因为我只是SAS入门,还不懂macro,楼主你自行调整下代码,应该可以用上
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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