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
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.