Solved
New Contributor
Posts: 2

# macro error more positional parameters found than defined

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

Accepted Solutions
Solution
‎09-23-2016 03:05 PM
Super User
Posts: 13,563

## Re: macro error more positional parameters found than defined

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.

All Replies
Solution
‎09-23-2016 03:05 PM
Super User
Posts: 13,563

## Re: macro error more positional parameters found than defined

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.

New Contributor
Posts: 2

## Re: macro error more positional parameters found than defined

Thanks very much, such a silly mistake, costed my two hours

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
• 2 replies
• 1647 views
• 2 likes
• 2 in conversation