data test(keep=Disaster);
set test1;
run;
Sample Output
Disaster
Hurricane Harvey
Hurricane Beula
Hurricane Agnes
Wildfires
If the variable begins with Hurricane I want to delete it and just show the word after the blank space. I looked at compress, trim, strip functions however no examples. How can I accomplish this ??
data have;
input disaster $20.;
datalines;
Hurricane Harvey
Hurricane Beula
Hurricane Agnes
Wildfires
;
data want;
set have;
if scan(disaster,1)='Hurricane' then _disaster=scan(disaster,2);
else _disaster=disaster;
run;
or with IFC function:
data want;
set have;
/*if scan(disaster,1)='Hurricane' then _disaster=scan(disaster,2);*/
/*else _disaster=disaster;*/
_disaster=ifc(scan(disaster,1)='Hurricane' , scan(disaster,2), disaster);
run;
I guess hurricanes usually receive one-word names. Just in case there is more than one word following "Hurricane" this might be a little safer:
data want;
set have;
if upcase(scan(disaster,1))='HURRICANE' then _disaster=substr(disaster,11);
else _disaster=disaster;
run;
or
data WANT;
set HAVE;
if upcase(DISASTER) =: 'HURRICANE ' then DISASTER = substr(DISASTER,11);
run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.