Hi,
I have a dataset which contains one varible name with value of
NAME
AMORTIZED_INCOME__REV_
BONDS_BAL_
BONDS_REV_
CASA_BAL_
CASA_REV_
CASH_REV_
CASH_SECURED__BAL_
CASH_SECURED__REV_
CA_BAL_
How could I create a macro parameter varlist from above dataset the same as I did manually as below?
%LET varlist = %STR(
AMORTIZED_INCOME__REV_
BONDS_BAL_
BONDS_REV_
CASA_BAL_
CASA_REV_
CASH_REV_
CASH_SECURED__BAL_
CASH_SECURED__REV_
CA_BAL_) ;
Thanks for your help!
HI.
One way would be to use PROC SQL and SELECT INTO:
Something like this,
PROC SQL;
SELECT NAME SEPARATED BY " "
INTO: NAME_LIST
FROM WORK.YOURDATA;
QUIT;
%PUT &NAME_LIST;
Anca.
Thanks Anca. But I got error message.
83 PROC SQL;
84 SELECT NAME
85 SEPARATED BY " "
--------- --
22 202
ERROR 22-322: Syntax error, expecting one of the following: a quoted string, !, !!, &, (, *, **, +, ',', -, '.', /, <, <=, <>,
=, >, >=, ?, AND, AS, BETWEEN, CONTAINS, EQ, EQT, FORMAT, FROM, GE, GET, GT, GTT, IN, INFORMAT, INTO, IS, LABEL,
LE, LEN, LENGTH, LET, LIKE, LT, LTT, NE, NET, NOT, NOTIN, OR, TRANSCODE, ^, ^=, |, ||, ~, ~=.
ERROR 202-322: The option or parameter is not recognized and will be ignored.
86 INTO: NAME_LIST
87 FROM xtest;
88 QUIT;
Yes, I made a mistake. Need to switch the into: and separated
You need select name into: name_list separated by ' '
From dataset;
Quit;
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.