全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2180 8
2012-04-27
某个文件夹里有编号连续的excel表格(现券买卖双边报价1-21),用如下程序导入,结果出现:宏 QUOTE 已被指定了保留名称、将编译哑宏、宏函数名后没有找到期望的左括号三个错误,忘高手指正:
%macro import;
PROC IMPORT OUT= WORK.quote&i
            DATAFILE= "E:\Data\现券买卖双边报价\现券买卖双边报价&i..xls"
            DBMS=EXCEL REPLACE;
     RANGE="CBDDUALBID$";
     GETNAMES=NO;
     MIXED=NO;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
  run;
%mend import;
%macro quote;
%do i=1 %to 21;
%import;
%end;
%mend quote;
%quote;
二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-27 16:17:01

%macro a;
%do i=1 %to 21;
        PROC IMPORT OUT= WORK.quote&i
            DATAFILE= "E:\Data\现券买卖双边报价\现券买卖双边报价&i..xls"
            DBMS=EXCEL REPLACE;
     RANGE="CBDDUALBID$";
     GETNAMES=NO;
     MIXED=NO;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
  run;
%end;
%mend a;
%a;
二维码

扫码加我 拉你入群

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

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

2012-4-27 18:50:20
chendonghui1987 发表于 2012-4-27 16:17
%macro a;
%do i=1 %to 21;
        PROC IMPORT OUT= WORK.quote&i
谢谢仁兄,你的代码已经把问题解决啦!我的程序虽然繁琐一点,但是貌似也没有什么问题。。。
二维码

扫码加我 拉你入群

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

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

2012-4-27 19:43:01
chendonghui1987 发表于 2012-4-27 16:17
%macro a;
%do i=1 %to 21;
        PROC IMPORT OUT= WORK.quote&i
再请问一下 怎么合并 quote1-quote21这21个数据集
二维码

扫码加我 拉你入群

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

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

2012-4-27 20:01:29
如果数据结构相同,可以用set做:

data work.a;
        input a $ b;
        datalines;
a 1
b 2
;
run;

data work.a1;
        input a $ b;
        datalines;
c 1
d 2
;
run;

data work.c;
        set work.a work.a1;
run;
二维码

扫码加我 拉你入群

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

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

2012-4-27 22:07:13
chendonghui1987 发表于 2012-4-27 20:01
如果数据结构相同,可以用set做:

data work.a;
数据结构是一样的,但是那不是要手动输入 quote1 quote2....quote21吗,有没有类似of quote: 之类的方法,之前好像在哪里见过
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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