全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3663 5
2010-08-20
有个excel文件,里面有多个工作表,能否写个loop来实现?我试着用大虾们教过的do loop 方法,报错. my code is like this:

我想实现如下:
data S1;
  set inExcel."W_1$"n;
run;

data S2;
  set inExcel."W_2$"n;
run;  
.........

我的程序:
%macro MM(num);
       data S#
          set inExcel."W_&num$"n;
       run;
%mend;

%macro outer;
     %do i=1 %to 3;
        %MM(&i);
     %end;
%mend;

%outer;   /*我的程序照着葫芦画瓢没画出来, 请赐教!!!*/


还有,怎么输出到同一个EXCEL的不同工作表??
万分感谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
二维码

扫码加我 拉你入群

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

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

全部回复
2010-8-21 08:54:47
no libname
二维码

扫码加我 拉你入群

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

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

2010-8-21 12:01:19
把错误提示print出来啊
二维码

扫码加我 拉你入群

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

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

2010-8-21 12:11:35
2# zhanghy007
主程序是以前别人写的,我要往里加东西。那个 inExcel 好象就是LIBNAME,反正我要是单个读的话,能读进来,没报错
二维码

扫码加我 拉你入群

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

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

2010-8-25 09:38:54
1# 甜甜居士

如果你有一个EXCEL里面有三个sheet, 分别为sheet1 sheet2 sheet3,可以采用以下方法导入所有sheet。如果有大量的sheet,则可以先编一个宏生成这些sheetname。

%macro importxls(sheetname); /*&sheetname为sheetname的宏变量*/

PROC IMPORT OUT= WORK.&sheetname
            DATAFILE= "C:\test.xls"
            DBMS=EXCEL REPLACE;
     RANGE="&sheetname$";  
     GETNAMES=YES;
     
RUN;
%mend;
%importxls(sheet1);
%importxls(sheet2);
%importxls(sheet3);
二维码

扫码加我 拉你入群

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

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

2010-8-26 15:30:04
你的程序实现不了你的功能,你的
data S1;
  set inExcel."W_1$"n;
run;
这部分,实现不了,将一个excel表读入data步的功能。就算inexcel是个libname,如果是filename也使用不了inexcel."w_1$"n这样的格式(我试过)。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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