macro variable in proc export excel file name

Reply
Contributor
Posts: 42

macro variable in proc export excel file name

Code have:

%MACRO A (VAR01, VAR01STR);

PROC EXPORT

DATA= &VAR01

OUTFILE='C:\DATA\VAR01STR.XLSX'

DBMS = XLSX REPLACE;

RUN;

%MEND;

%A(ID01,%STR(ID01.));

Want output file with name ID01.XLSX.

But right now output file name is VAR01STR.XLSX

Thanks!

Super User
Posts: 19,822

Re: macro variable in proc export excel file name

You need to reference a macro variable using &, so &var01STR.

And if quoting, you need double quotes for the macro variable to resolve.

Also, you need to add a . to denote where the variable name ends, so SAS know's the which macrovariable to resolve.

%MACRO A (VAR01, VAR01STR);

PROC EXPORT

DATA= &VAR01

OUTFILE='C:\DATA\&VAR01STR..XLSX'

DBMS = XLSX REPLACE;

RUN;

%MEND;

%A(ID01,%STR(ID01.));

Super User
Posts: 11,343

Re: macro variable in proc export excel file name

AND the string has to use " instead of '

"C:\data\&Var01Str..xlsx"

Super Contributor
Posts: 276

Re: macro variable in proc export excel file name

Yes,

Macro variable wonn't resolve in Single Quotes " ' ".


Sanjeev.K

Ask a Question
Discussion stats
  • 3 replies
  • 9853 views
  • 0 likes
  • 4 in conversation