DATA Step, Macro, Functions and more

rename

Reply
Super Contributor
Posts: 647

rename

Hi,
Until april the vendor gave the filed name as md_city and since may it was changed to phy_city. Now my dataset has values for these two fields. I would want to have the data from these two fields into a single field phys_city.
How do I do it without any dataloss?
N/A
Posts: 0

Re: rename

I'm not sure if PHYS_CITY (added 'S') is a typo, but if not, and assuming that this is a character variable, you could do something like:

data new;

set old;

if md_city ne '' and phy_city = '' then phys_city = md_city;

else if md_city = '' and phy_city ne '' then phys_city = phy_city;

else do;

phys_city = '';

put 'WARNING: Both city variables are missing for ' _n_=;

end;

run;
Super Contributor
Posts: 474

Re: rename

Yet another way of doing the same.

Assuming that none or only one of the columns has values for each row.

data new;
set old;
length PHYS_CITY $200;
PHYS_CITY=coalescec(MD_CITY,PHY_CITY);
run;

Check the online documentation for the COALESCEC function:
http://support.sas.com/documentation/cdl/en/lrdict/61724/HTML/default/a002518268.htm

Don't forget to allocate PHYS_CITY with enough size to hold values.

Cheers from Portugal.

Daniel Santos @ www.cgd.pt.
Ask a Question
Discussion stats
  • 2 replies
  • 107 views
  • 0 likes
  • 3 in conversation