BookmarkSubscribeRSS Feed
Timbim
Obsidian | Level 7

Hi All,

 

I am faily new to Macro and been a SAS user but not indepth.

 

I want to automate a step to import a daily CSV file into SAS.

 

How could I write a macro or sas step to import the file with today's date?

 

Greatly appreciate your help.

 

Thanks,

Maggie

2 REPLIES 2
Kurt_Bremser
Super User

You can create a macro variable that contains today's date in a proper format:

%let today=%sysfunc(today(),yymmdd10.);
%put &today;

If the date is part of the filename, you can then build the filename with the use of the macro variable.

 

RW9
Diamond | Level 26 RW9
Diamond | Level 26

The search bar can be used to find topics similar to what you are looking for, this kind of question gets asked at least once a week. In this case, you would need to provide more information such as - what is happening to the file before its gets to SAS, i.e. where is the file stored, is it overwriting a previous file (i.e. same name), or does it have differing names.  Is the data cumulative?  Is teh data exactly the same structurally?  It could just be as simple as having a program run daily which does this:

data in_data;
  infile "<path to files>/The_data_file_%sysfunc(today(),date9.).csv" dlm=",";
  input a $ b $;
run;

proc append base=master data=in_data;
run;

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1418 views
  • 0 likes
  • 3 in conversation