Есть несколько способов подойти к этому.Можно было бы найти конкретный файл - например, использовать функцию today()
в сочетании с intnx()
, чтобы вычислить имя файла, который вы ищете, а затем открыть этот файл.
Я думаю, что более простой подход заключается в том, чтобы прочитать все имена файлов в каталоге в набор данных:
filename fnames pipe 'dir c:\temp\* /b';
data fnames;
infile fnames pad missover;
input @1 filename $255.;
dt=scan(filename,3,'_');
run;
Затем просто отсортировать fnames
и выбрать последнее, или еще лучше,используйте proc sql
, чтобы поместить имя файла в макропеременную:
proc sql noprint;
select filename into :fname
from fnames
having dt=max(dt);
quit;
Файл, который вы хотите открыть, теперь можно вызывать с помощью &fname
.