how to get the last two words using scan function in SAS?
if i have visit as
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
i want the ouptut as
Week 4
Week 42
Week 52
Thanks in advance
With Scan Function:
data have;
input string $ 1-20;
datalines;
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
;
data want;
set have;
lasttwo=cat(scan(string, -1), ' ', scan(string, -2));
run;
Result:
string lasttwo Visit 2 Week 4 Week 4 Visit 12 Week 42 Week 42 visit 1 day 1 day 1 visit 16 week 52 week 52
With Scan Function:
data have;
input string $ 1-20;
datalines;
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
;
data want;
set have;
lasttwo=cat(scan(string, -1), ' ', scan(string, -2));
run;
Result:
string lasttwo Visit 2 Week 4 Week 4 Visit 12 Week 42 Week 42 visit 1 day 1 day 1 visit 16 week 52 week 52
@Aayushi_17 wrote:
how to get the last two words using scan function in SAS?
if i have visit as
Visit 2 Week 4
Visit 12 Week 42
visit 1 day 1
visit 16 week 52
i want the ouptut as
Week 4
Week 42
????
Week 52
Thanks in advance
So you want output only if the value contains the word week? Or why is the fourth line empty?
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.