DATA Step, Macro, Functions and more

How to conditionally rename a SAS dataset?

Reply
Frequent Contributor
Posts: 122

How to conditionally rename a SAS dataset?

Hi,

 

Could you please let me know how I can conditionally rename a dataset?

 

eg: I have dataset TEST in a library.

 

So if the run month=01 then I need to rename TEST to TEST_01.

Super User
Posts: 11,343

Re: How to conditionally rename a SAS dataset?

What rule are you using to determine that the "run month = 01"?

And since this is a date related question what do you want to do the following year when there is another "run month=01"?

Are also asking "how do I determine if the data set TEST exists in the library I expect it to?"

 

Frequent Contributor
Posts: 122

Re: How to conditionally rename a SAS dataset?

Hi,

 

I set the macro variable , for eg: mth according to the date when I run the program.

So I plan to run the process only on the month of January all other months are not affected.

Data set should be avaialbe in the library from the previous months run.

 

Thank you!

Frequent Contributor
Posts: 141

Re: How to conditionally rename a SAS dataset?

I'm not sure how much I undesstood your problem.

 

%let month= %sysfunc(month("&sysdate"d));

data TEST_&month;

set TEST;

run;

Thanks,
Suryakiran
Frequent Contributor
Posts: 122

Re: How to conditionally rename a SAS dataset?

Posted in reply to SuryaKiran

Hi,

 

The dataset I want to rename is in a permanent library and I want to rename that dataset only in January.

 

Super User
Posts: 10,046

Re: How to conditionally rename a SAS dataset?

[ Edited ]
data test;
 set sashelp.class;
run;

proc datasets library=work nodetails nolist;
 change test=test_%sysfunc(month(%sysfunc(today())));
quit;

 

 

data test;
 set sashelp.class;
run;

%let month=01;
proc datasets library=work nodetails nolist;
 change test=test_&month;
quit;

 

Ask a Question
Discussion stats
  • 5 replies
  • 279 views
  • 0 likes
  • 4 in conversation