Hi there,
How do i scan a particular library to use the latest table based on their name. In this example, library is toshare and tables all start with extdate_.
I found this macro from another post which works when date format is yyyymmdd, but not for ddmmmyyyy.
Below should do.
libname toshare "%sysfunc(pathname(work))";
data
toshare.extdate_01apr2023
toshare.extdate_01may2023
toshare.extdate_01jun2023
;
set sashelp.class;
run;
%let last_tbl_dt=;
proc sql noprint;
select
max(input(scan(memname,-1,'_'),date9.)) format=date9.
into :last_tbl_dt trimmed
from dictionary.tables
where
libname = 'TOSHARE'
and memname like 'EXTDATE^_%' escape '^'
;
quit;
data want;
set toshare.extdate_&last_tbl_dt;
run;
Below should do.
libname toshare "%sysfunc(pathname(work))";
data
toshare.extdate_01apr2023
toshare.extdate_01may2023
toshare.extdate_01jun2023
;
set sashelp.class;
run;
%let last_tbl_dt=;
proc sql noprint;
select
max(input(scan(memname,-1,'_'),date9.)) format=date9.
into :last_tbl_dt trimmed
from dictionary.tables
where
libname = 'TOSHARE'
and memname like 'EXTDATE^_%' escape '^'
;
quit;
data want;
set toshare.extdate_&last_tbl_dt;
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.