Hi all,
In the below dataset I have 2 columns c and y with data as follows:
X
34 45 th avenue
South west 34 street
Column y
th avenue
street
So using column y I need to look in column x and if the 1stword is th in y and pattern matches in xthen I need to pull
The preceding digit
So my final output z would be something like this.
Column y
45 th avenue
street
Regards,
Rohit
Something like the following should work:
data have (drop=position length);
informat x y $30.;
input x & y &;
if scan(y,1) eq 'th' then do;
call scan(x, FINDW(x, 'th',' ', 'e')-1, position, length);
z=substr(x,position);
end;
else z=y;
cards;
34 45 th avenue th avenue
South west 34 street street
;
Art, CEO, AnalystFinder.com
Why don't you keep the street number in your example?
What do you do if there is no match?
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.
Ready to level-up your skills? Choose your own adventure.