BookmarkSubscribeRSS Feed
thanikondharish
Calcite | Level 5

data male female;
set sashelp.class ;
if sex='M' then output male;
else if sex='F' output female ;
run;

proc datasets lib=work memtype=data;
change female=male ;
run;

 

I have rename the dataset names like already we have two datasets male and female.
now i have to rename male dataset as female and female dataset as male 
how to do in proc datasets procedure ?

2 REPLIES 2
Patrick
Opal | Level 21
data male female;
  set sashelp.class;
  if sex='M' then output male;
  else if sex='F' then output female;
run;

proc datasets lib=work memtype=data nolist nowarn;
  delete _male _female;
  run;
  change female=_male male=_female;
  run;
  change _male=male _female=female;
  run;
quit;
Kurt_Bremser
Super User

This is the classic "exchange two objects" problem in computing. You always need a third temporary object to hold one of the values, you can't move the data (or names, in your case) concurrently.

Ready to join fellow brilliant minds for the SAS Hackathon?

Build your skills. Make connections. Enjoy creative freedom. Maybe change the world. Registration is now open through August 30th. Visit the SAS Hackathon homepage.

Register today!
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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 2 replies
  • 324 views
  • 2 likes
  • 3 in conversation