Create macro parameter from a dataset

Reply
Occasional Contributor
Posts: 15

Create macro parameter from a dataset

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!

Super Contributor
Posts: 543

Re: Create macro parameter from a dataset

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.

Occasional Contributor
Posts: 15

Re: Create macro parameter from a dataset

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;

Super Contributor
Posts: 543

Re: Create macro parameter from a dataset

Yes, I made a mistake. Need to switch the into: and separated

You need select name into: name_list separated by ' '

From dataset;

Quit;

Ask a Question
Discussion stats
  • 3 replies
  • 289 views
  • 0 likes
  • 2 in conversation