I was able to use the code belwo to batch process files with names like 201501.csv, 201502.csv,.. etc
Now I have 12 files, whose names are named by months, like xxxx-Jan2014.csv, xxxx-Feb2014.csv, ... xxxx-Dec2014.csv.
Is there a way to use the similar code below?
%macro run_me;
%let n=1;
%do %while (&n <= 9);
%let filein = xxxx20150&n..csv;
data output&n;
infile &filein;
<data step-->
run;
%let n=%eval(&n+1);
%end;
%mend;
Yes, but you have to process over a list of values, rather than a range of numbers. You might call the macro like this:
%run_me (month_list=Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
Here's an article that tells you how to do it:
Yes, but you have to process over a list of values, rather than a range of numbers. You might call the macro like this:
%run_me (month_list=Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec)
Here's an article that tells you how to do it:
Or you could step over months numerically and generate the part of the file name:
%let monnum=1;
%let year=2014;
%let name = %sysfunc(putn(%sysfunc(mdy(&monnum,1,&year)),MONYY7.));
%put &name;
If you have a do loop on MONNUM (or use &i where I used &monnum) you create the name part for a series.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.