DATA Step, Macro, Functions and more

How to rename a serial column names?

Accepted Solution Solved
Reply
Super Contributor
Posts: 297
Accepted Solution

How to rename a serial column names?

[ Edited ]

Good morning,

 

I have 32 column (variables) names from 'bd_dx_1' to 'bd_dx_32'.   I would like to rename them from 'nad_dx_1' to 'nad_dx_32', individually. Please help.  Thanks.


Accepted Solutions
Solution
‎06-08-2017 11:22 AM
Super User
Super User
Posts: 7,392

Re: How to rename a serial column names?

Well, arrays is one option:

data want (drop=bd_dx_:);
  set have;
  array bd_dx_{32};
  array nad_dx_{32} $100;   /* assume character as you have not said */
  do i=1 to 32;
    nad_dx_{i}=bd_dx_{i};
  end;
run;

I suppose the big question is, is there any benefit, if they were meant to be called that originally, why not change there?

View solution in original post


All Replies
Solution
‎06-08-2017 11:22 AM
Super User
Super User
Posts: 7,392

Re: How to rename a serial column names?

Well, arrays is one option:

data want (drop=bd_dx_:);
  set have;
  array bd_dx_{32};
  array nad_dx_{32} $100;   /* assume character as you have not said */
  do i=1 to 32;
    nad_dx_{i}=bd_dx_{i};
  end;
run;

I suppose the big question is, is there any benefit, if they were meant to be called that originally, why not change there?

Respected Advisor
Posts: 3,124

Re: How to rename a serial column names?

Rename statement or Rename data set option supports batch renaming of your kind:

 

data want;
set have;
rename bd_dx_1-bd_dx_32=nad_dx_1-nad_dx_32;
run;
Super Contributor
Posts: 297

Re: How to rename a serial column names?

Thanks for all your kind help.

☑ This topic is SOLVED.

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

Discussion stats
  • 3 replies
  • 146 views
  • 4 likes
  • 3 in conversation