%macro getfilesizes(directory,extension,dataset);
data &dataSet;
length file $256 dte 8 size 8 directory $256;
format dte datetime.;
keep file dte size directory;
length filrf filrfb $8;
directory="&directory";
rc1=filename(filrf,directory);
did=dopen(filrf);
memcount=dnum(did);
do i=1 to memcount;
file = dread(did,i);
if scan(file,-1,'.') = "&extension" or "&extension" = "all" then
do;
rc2=filename(filrfb,catx('/',directory,file));
fid=fopen(filrfb);
dte=input(finfo(fid,'Last Modified'),datetime.);
size=input(finfo(fid,'File Size (bytes)'),32.);
output;
rc3=fclose(fid);
rc4=filename(filrfb);
end;
end;
rc5=dclose(did);
run;
%mend getfilesizes;
%getfilesizes(directory=/shares/groups/Lean Six Sigma Analytics/Joe Adhoc/Test,extension=xls,dataset=Test)
proc print width=min;
run;
PROC SQL ;
create table max_date as SELECT
(MAX(t1.dte)) FORMAT=DATETIME. AS MAX_of_dte
FROM WORK.TEST t1
;
QUIT;
PROC SQL;
CREATE TABLE max_file1 AS
SELECT t2.file
FROM WORK.max_date t1
INNER JOIN WORK.TEST t2 ON (t1.MAX_of_dte = t2.dte);
QUIT;
PROC SQL noprint;
select *
into:file
from work.max_file1;
quit;
%put &file;
filename max_file "/shares/groups/Lean Six Sigma Analytics/Joe Adhoc/Test/&file.";
PROC IMPORT OUT= Max_final DATAFILE= max_file
DBMS=xls REPLACE;
GETNAMES=yes;
DATAROW=2;
RUN;