全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2203 6
2012-04-24
问题已经解决了,请大家参考以下这个程序:
%if %sysfunc(fileexist(&myfilerf)) %then    %let fid=%sysfunc(fopen(&myfilerf));%else   %put The external file &myfilerf does not exist.;
我把%if %sysfunc(fileexist("C:\Projects\SAS\xxx.xls")) %then %do;放在判别条件中,然后就可以解决这个问题了,多谢大家关照以及帮助,期待多交流


又来麻烦大家了,这次呢,我使用宏变量读入一些excel数据,程序如下:

%let from=20120406;
%let to=20120409;
%macro citation(from,to);

data summary;
run;
%do i=&from. %to &to.;
(确保读入一个月的程序)
  %if %sysfunc(mod(&i,100))>0 and %sysfunc(mod(&i,100))<=31 %then %do;
   %Collection(&i)
  
%end;
%end;
%mend citation;
%macro Collection(a);

%macro Collection(a);
PROC IMPORT OUT= Financial_&a.
            DATAFILE= "C:\Projects\ad hoc analysis\Portfolio related\Katrina_data_collection\&a._Financial"
            DBMS=EXCEL REPLACE;
     RANGE="Financial_Report$";
     GETNAMES=YES;
     MIXED=YES;
     SCANTEXT=YES;
     USEDATE=YES;
     SCANTIME=YES;
RUN;

data summary;
set summary
   Financial_&a.;
run;


%mend Collection;
%citation(&from, &to);

我的问题是,在一个月中,比如说四月,有很多个周末或者假期,这些日子都是没有数据可以读入的,如何可以让程序自动监测到没有数据,然后避免读入这个数据呢?多谢咯
也就是说,如何利用数据是否存在做一个逻辑判别,恩,感激不尽

二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-24 19:07:09
那就需要一个维护表了,因为周六日好说,但是周六日也会有上班的时候的,会进行调休,所以需要一个维护表去维护哪些日子会休假,没有数据
二维码

扫码加我 拉你入群

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

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

2012-4-24 21:50:11
chendonghui1987 发表于 2012-4-24 19:07
那就需要一个维护表了,因为周六日好说,但是周六日也会有上班的时候的,会进行调休,所以需要一个维护表去维护 ...
也就是说,我需要把这些没有数据的日子做成空的表格,然后按照正常数据进行读入便可是么?
二维码

扫码加我 拉你入群

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

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

2012-4-24 23:45:56
用一张表去记录哪些是休息日或者放假,这些日期是没有数据的日期,然后在宏里面写些控制代码,遇到这样的日期就跳过就行了.
二维码

扫码加我 拉你入群

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

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

2012-4-25 09:08:28
感谢大家的帮助,这种方法呢是我以前使用的
我还想向大家咨询一下,在sas中,有没有根据读入数据是否存在进行逻辑判别然后决定宏是否运行的方法呢?(最好是一个statement),再次感谢大家的时间~
二维码

扫码加我 拉你入群

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

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

2012-4-25 10:22:44
刚才研究了一下,利用一个%sysfunc(fileexist(C:\*****\xxx.xls))这个功能解决了,非常感谢大家的帮助以及关照
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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