全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2919 4
2010-11-11
现在有十二个数据集,比如freq1,freq2,...,freq12,具有同样的变量格式,我想通过宏一次执行就全部导入到excel中去,写了如下代码:

%macro build;

%do iloop = 1 %to 12;

proc export data = freq&iloop outfile = "e:\freq&iloop.xls" replace;run;

%end;
%mend build;

%build;

但看来宏变量%iloop在outfile中是无效的

请问应该如何实现这一目标?如果能导入同一个excel file中就更好了。。。
谢谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2010-11-11 13:46:58
你的表达有问题,没有%iloop这东西,只有&iloop这东西,这是个局部宏变量。

红颜色的2处地方需要注意一下,这样应该可以导出到多个文件。
%macro build;

%do iloop = 1 %to 12;

proc export data = freq&iloop outfile = "e:\freq&iloop..xls"  dbms=csv replace;run;

%end;
%mend build;

%build;

我继续研究+等待高手贡献导出到一个文件的方法!敬请期待!
二维码

扫码加我 拉你入群

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

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

2010-11-11 14:11:04
哥查到这个帖子,去搜索一下吧,希望对你有用,标题为:“源自美国SAS培训学习资料,最佳实践”
二维码

扫码加我 拉你入群

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

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

2010-11-11 14:18:05
2# liudeng2005

Thx!
确实加了DBMS就可以导入多个文件了
我朋友说用下面这个code可以导入一个excel文件的不同sheets:

%do i = 1 %to 10;

proc export data= stat&i outfile= "C:\test.xls" DBMS=Excel replace;

     
sheet="stat&i";


run;

%end;


但是我试了不行
我的SAS是V8.2的,也许要V9的才行?
二维码

扫码加我 拉你入群

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

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

2010-11-11 14:38:56
谢谢你朋友的程序,应该是有用的,回去我也试试看:)

但我感觉是不是因为你多了个分号。不会有那么一个赋值语句出现在这个proc里面的。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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