Renaming datasets by an array ??

Accepted Solution Solved
Reply
Contributor
Posts: 35
Accepted Solution

Renaming datasets by an array ??

I have 66 datasets namely, Plan_1, Plan_2 ....... , Plan_66

I want to rename them to -- _2013_010_plan_sas, _2013_020_plan_sas, etc...there is no sequential order to these numbers, so I put them in an array,

array names{*} _2013_010_Plan_SAS

_2013_020_Plan_SAS

_2013_265_Plan_SAS

_2013_332_Plan_SAS .......;

But how do I use this array to rename the datasets via a macro, maybe.............or if there is any other way, please let me know.

Thanks, in advance!!


Accepted Solutions
Solution
‎04-24-2013 10:22 AM
Super User
Super User
Posts: 6,499

Re: Renaming datasets by an array ??

You need to generate code but a macro is not needed.

It will be easy read the new names as input DATA can generate the corresponding old name based on the location in the list.

data renames ;

   input newname $32. ;

   n+1;

   oldname = catx('_','plan',n);

cards;

_2013_010_Plan_SAS

_2013_020_Plan_SAS

...

run;

proc sql noprint ;

  select catx('=',oldname,newname) into :renames separated by ' '

  from renames

  ;

quit;

proc datasets nolist lib=work;

change &renames ;

run; quit;

View solution in original post


All Replies
Solution
‎04-24-2013 10:22 AM
Super User
Super User
Posts: 6,499

Re: Renaming datasets by an array ??

You need to generate code but a macro is not needed.

It will be easy read the new names as input DATA can generate the corresponding old name based on the location in the list.

data renames ;

   input newname $32. ;

   n+1;

   oldname = catx('_','plan',n);

cards;

_2013_010_Plan_SAS

_2013_020_Plan_SAS

...

run;

proc sql noprint ;

  select catx('=',oldname,newname) into :renames separated by ' '

  from renames

  ;

quit;

proc datasets nolist lib=work;

change &renames ;

run; quit;

Contributor
Posts: 35

Re: Renaming datasets by an array ??

Thank you...it worked !!

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 156 views
  • 0 likes
  • 2 in conversation