BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
tsky
Calcite | Level 5

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

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
ballardw
Super User

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.

View solution in original post

2 REPLIES 2
ballardw
Super User

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.

tsky
Calcite | Level 5

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

 

 

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

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!

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
  • 2 replies
  • 3042 views
  • 2 likes
  • 2 in conversation