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
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.