SAS建立本地文件夹
SAS建立文件夹:用sas建立数据集市时,通常要生成每日数据并保留起来。
今天分享一段程序,SAS生成每日文件夹、模块文件夹及主题表文件夹并保留每日运行的日志,在下一期,分享日志检测程序
%let job=d:\job;
/*在job文件夹下每天建立一个日期年月日的文件夹*/
data time;
format t $8.;
t=compress(year(today())*10000+month(today())*100+day(today()));
call symput('t',t);
run;
/*建立文件夹*/
data _null_;
new=dcreate("&t.","&job.");
new1=dcreate("main","&job.\&t.");
new2=dcreate("log","&job.\&t.");
new3=dcreate("ods","&job.\&t.");
new4=dcreate("dds","&job.\&t.");
new5=dcreate("job","&job.\&t.");
new6=dcreate("canshu","&job.\&t.");
run;
/*定义存放错误数据集位置的文件位置*/
%let canshu=&job.\&t.\canshu;
/*抽取增量后存放基础层的位置*/
%let ods=&job.\&t.\ods;
/*加载数据后存放整理层的位置*/
%let dds=&job.\&t.\dds;
/*日志存放的位置*/
%let log=&job.\&t.\log;
/*存放确定结果数据集的位置*/
%let main=&job.\&t.\main;
/*生成主日志*/
/*proc printto*/
/* log="&log.\main.txt" new;*/
/*run;*/
DM 'LOG; log; FILE "&log.\main.txt." replace;';
run;
DM 'log; "clear";';
/*创建逻辑库*/
libname main "&main.";
libname canshu "&canshu.";
libname ods "&ods.";
libname dds "&dds.";
/*将excel表格输入到sas数据集*/
proc import out=sysinfo
datafile="&job.\z.xls";
sheet=sheet1;
getnames=yes;
run;
/*在ods层和dds层建立主题表文件夹*/
data a;
set sysinfo(keep=sys_nm);
run;
%macro test;
%let dsid=%sysfunc(open(work.a,i));
%put &dsid;
%let rc=%sysfunc(fetch(&dsid));
%do %while(&rc=0);
%let zhuti=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarc(&dsid,1))))));
data _null_;
new=dcreate("&zhuti.","&ods.");
new=dcreate("&zhuti.","&dds.");
run;
%let rc=%sysfunc(fetch(&dsid));
%put &rc;
%end;
%let rc=%sysfunc(close(&dsid));
%mend;
%test;
z是数据集市的各个主题表名,格式如下:
最后生成的文件夹及问价如下:
完 谢谢观看