Hi @112211, I didn't see your desired output until now.
data want (drop = i);
length a_want $50.; /* Needs to be set depending on output */
a = "United States of America";
do i = countw(a, " ") to 1 by -1;
a_want = catx(" ", a_want, scan(a, i, " "));
end;
run;
Basically, your loop starts at 4 because COUNTW finds four words. I use the by -1 to go from 4 --> 3 --> 2 -- 1.
CATX then combines each word with the DO loop.
Use the REVERSE function, no loops needed
data want;
set do;
reverse_A=reverse(A);
run;
Hi @112211, I didn't see your desired output until now.
data want (drop = i);
length a_want $50.; /* Needs to be set depending on output */
a = "United States of America";
do i = countw(a, " ") to 1 by -1;
a_want = catx(" ", a_want, scan(a, i, " "));
end;
run;
Basically, your loop starts at 4 because COUNTW finds four words. I use the by -1 to go from 4 --> 3 --> 2 -- 1.
CATX then combines each word with the DO loop.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.