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!
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.));
AND the string has to use " instead of '
"C:\data\&Var01Str..xlsx"
Yes,
Macro variable wonn't resolve in Single Quotes " ' ".
Sanjeev.K
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.