BookmarkSubscribeRSS Feed
peppapig
Calcite | Level 5

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!

3 REPLIES 3
Reeza
Super User

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.));

ballardw
Super User

AND the string has to use " instead of '

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

kuridisanjeev
Quartz | Level 8

Yes,

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


Sanjeev.K

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 26736 views
  • 1 like
  • 4 in conversation