Hello all,
I am wondering whether someone can help me with this.
I am running following macro, but always show more positional parameters found than defined and no any procedure was run;
%macro median(dsn, catvar, var, mvar);
proc univariate noprint data=&dsn; where &catvar=1; var &var; output out=apctls3_1 pctlpts=50 pctlpre=p_ pctlname=p50_1; run;
proc univariate noprint data=&dsn; where &catvar=2; var &var; output out=apctls3_2 pctlpts=50 pctlpre=p_ pctlname=p50_2; run;
proc univariate noprint data=&dsn; where &catvar=3; var &var; output out=apctls3_3 pctlpts=50 pctlpre=p_ pctlname=p50_3; run;
data median; merge apctls3_1 apctls3_2 apctls3_3; run;
data _null_;set median; call symput('M1',p_p50_1); call symput('M2',p_p50_2); call symput('M3',p_p50_3); run;
data &dsn; set &dsn;
if &catvar=1 then &mvar=&M1; else if &catvar=2 then &mvar=&M2; else if &catvar=3 then &mvar=&M3; run;
%mend median;
%tertile(a1, frtsummcat3, frtsumm, frttry2);
ERROR: More positional parameters found than defined.
Thanks
What is the definition of the macro %TERTILE?
You show the definition for a macro MEDIAN (not a best practice to name a macro by a statistic function call) but not not TERTILE.
What is the definition of the macro %TERTILE?
You show the definition for a macro MEDIAN (not a best practice to name a macro by a statistic function call) but not not TERTILE.
Thanks very much, such a silly mistake, costed my two hours
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
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.