05-07-2014 09:31 AM
Could you please anyone explain in which situation we have to use which parameter like key and positional parameters.
Is there any particular situation for using those parameters.
05-07-2014 09:46 AM
That is the macro designers job to decide. To help, the parameter approach is easier with setting default values. SAS(R) 9.3 Macro Language: Reference (%macro)
05-07-2014 09:51 AM
I would use named parameters as much as possible. They are easier to document, make the code easier to read. For instance if you optional parameters you could have either:
%macro do_something (avar,avar2,,,,,,some_new_var,,,,);
%macro do_something (variable_to_process=avar,
This is however an opinion, and there are some occasions where it doesn't help any to have named parameters, for instance where macros are embedded in other macros:
%macro big_loop (loop_start=,loop_end=,var=);
%macro inner_loop (a,b);
do loop over a to b;
As the user never sees the inner loop macro, then it really doesn't need documenting. So, if another person has to use it, maybe veer towards named paramers.