全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1790 2
2016-10-19
程序1:
%macro cha(datapath=,datanum=,dataname=);
        %do i=1 %to &datanum;
        proc import datafile="&datapath&i.xls"
        out=vba.&dataname&i replace;
         %end;
%mend ;
%cha(datapath=E:\f\,datanum=2,dataname=hj);
程序2:
%macro cha(datapath=,datanum=,dataname=);
        %do i=1 %to &datanum;
        proc import datafile="&datapath(&i).xls"
        out=vba.&dataname&i replace;
         %end;
%mend ;
%cha(datapath=E:\f\,datanum=2,dataname=hj);
程序3:
%macro cha(datapath=,datanum=,dataname=);
        %do i=1 %to &datanum;
        proc import datafile="&datapath&i..xls"
        out=vba.&dataname&i replace;
         %end;
%mend ;
%cha(datapath=E:\f\,datanum=2,dataname=hj);
程序2,3可以运行,excel表明根据各个程序的命名1.xls  (1).xls  1.xls
请问程序1不是应该能运行么,程序3是什么状况


二维码

扫码加我 拉你入群

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

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

全部回复
2016-10-19 17:05:47
&i..的第一个点表示宏变量名字的终止,第二个点才是文件名的后缀名前的点;
第一段code不成功,也是因为只有一个点,被认为是&i.的匹配,所以匹配的是“1xls”这个文件
二维码

扫码加我 拉你入群

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

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

2016-10-19 17:14:12
prince315 发表于 2016-10-19 17:05
&i..的第一个点表示宏变量名字的终止,第二个点才是文件名的后缀名前的点;
第一段code不成功,也是因为只 ...
哦哦,原来是这样!谢谢了!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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