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.
It's your turn to help shape SAS Innovate 2027. Share your expertise and inspire the SAS community.
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.