Hi everyone, thank you for reading my question! I have a "cityname" variable whose data look like this: "Autaugaville town" "Billingsley town" "Marbury CDP " "Millbrook city" "Pine Level CDP" "Prattville city" Does anyone know how to code efficiently to transform this variable into the following: "Autaugaville" "Billingsley" "Marbury " "Millbrook" "Pine Level" "Prattville" I just want to delete the ending word whenever it's tow/city/CDP/borough/village... Here is my way, just wondering any other more efficient ways... /* city, borough, town, cdp, village, */ data xu1.citycounty; set xu1.citycounty; cityname = upcase(cityname); cityname1 = scan(cityname,1,''); cityname2 = scan(cityname,2,''); cityname3 = scan(cityname,3,''); cityname4 = scan(cityname,4,''); cityname5 = scan(cityname,5,''); cityname6 = scan(cityname,6,''); if cityname2 in( 'CITY','TOWN','BOROUGH', 'VILLAGE','CDP') then cityname2= ''; if cityname3 in( 'CITY','TOWN','BOROUGH', 'VILLAGE','CDP') then cityname3= ''; if cityname4 in( 'CITY','TOWN','BOROUGH', 'VILLAGE','CDP') then cityname4= ''; if cityname5 in( 'CITY','TOWN','BOROUGH', 'VILLAGE','CDP') then cityname5= ''; if cityname6 in( 'CITY','TOWN','BOROUGH', 'VILLAGE','CDP') then cityname6= ''; run; data xu1.citycounty; set xu1.citycounty; citynamenew= trim(cityname1)||''||trimn(cityname2)||''||trimn(cityname3)||''||trimn(cityname4)||''||trimn(cityname5)||''||trimn(cityname6); run; Thank you all!
... View more