Hi,
I have 50+ data sets having different lengths with date extension, I want to read only date part from data sets and store in a variable for time stamp.
pls advise me how to read date part from data set name.
TEST_201312.sas7bdat
TEST__MONTH_201312.sas7bdat
TEST__YEAR_201312.sas7bdat
USE scan() with delimiter _. and -2 as counter so extracting second last substring.
Please try the below code
data TEST_201312;
test=1;
run;
data TEST__MONTH_201312;
test=1;
run;
data TEST__YEAR_201312;
test=1;
run;
proc sql;
create table tab as select memname, cats(put(input(substr(left((compress(memname,,'kd'))),5,2),best.),monname3.),substr(left((compress(memname,,'kd'))),1,4)) as month_year from dictionary.tables where upcase(memname) like "TEST%";
quit;
output:
Thanks,
Jag
Where do want the new variable to go? You seem to imply you want the new variable in each data set.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.