I have a table with variable names (string values) in column form that come from a user input. There is always 1 column with the header called "Name" but the number of rows in the column is undefined (based on user input, the variable list is currently called by the macro &THRES_VARS).
Example Data:
Name
Variable1
Variable2
Variable3
I need the resulting output to be a 1 column 1 row table that looks like this:
Variable1+Variable2+Variable3
Does anyone know how to produce code/macro to produce the output?
assuming you literally want it separated by "+"
Here's one way via code. You can change the delimiter as you like as well. Make sure the initial length of the variable is long enough to hold the resulting string.
firstobs is set to 2 so that the name is not included.
data want;
length variable $512;
set have (firstobs=2) end=eof;
retain variable;
variable=catx("+", variable, your_variable);
if eof then output;
run;
assuming you literally want it separated by "+"
Here's one way via code. You can change the delimiter as you like as well. Make sure the initial length of the variable is long enough to hold the resulting string.
firstobs is set to 2 so that the name is not included.
data want;
length variable $512;
set have (firstobs=2) end=eof;
retain variable;
variable=catx("+", variable, your_variable);
if eof then output;
run;
That is exactly what I needed. Thanks so much.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.