BookmarkSubscribeRSS Feed
deleted_user
Not applicable
An extremely simplified version of a macro and my intended log output is stated below. I am not sure if SAS has the capablilty to loop/parce through parameters like this and execute multiple times based on that list of parameters but I'm hoping someone here can help. What would I need to change in my macro to do this, if possible?

%Macro ListParms(Param);
%put &Param;
%mend ListParms;

%ListParms(Param1, Param2, Param3, ...);

Log Output:
Param1
Param2
Param3

T.I.A.
1 REPLY 1
deleted_user
Not applicable
Got It.

%Macro ListParms /PARMBUFF;
%let counter = 1;
%let Parm = %scan(&syspbuff,&counter);
%do %while(&Parm ne);
%put &Parm;
%let counter=%eval(&counter+1);
%let Parm=%scan(&syspbuff,&counter);
%end;
%Mend ListParms;

%ListParms(Param1, Param2, Param3,...);

This example was almost word for word in the Help files under %Macro...Sorry.

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

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
  • 1 reply
  • 942 views
  • 0 likes
  • 1 in conversation