DATA Step, Macro, Functions and more

problem with macro!

Reply
N/A
Posts: 0

problem with macro!

Problem with macro,
I am tyring to run this macro, but am a little confused.

%macro AgeSplit(varname=);
if (agegrup=1 and a&varname ge 1) then &varname.y=1;
else if (agegrup=1 and b&varname ge 1) then &varname.y=1;

%mend;

%AgeSplit(varname=mim);
run;


When I try to run this I get log error stating this:
NOTE: Line generated by the invoked macro "AGESPLIT".
1 *** Youngest cohort ***; if (aagegrup=1 and a&varname ge 1) then &varname.y=1;
--
180

ERROR 180-322: Statement is not valid or it is used out of proper order.

NOTE: Line generated by the invoked macro "AGESPLIT".
1 else
----
180
1 ! if (bagegrup=1 and b&varname ge 1) then &varname.y=1; *** Middle cohort ***; else if

ERROR 180-322: Statement is not valid or it is used out of proper order.

My set of variables of interst are mim from my data set. I have more then one but put one here for simplicity. But I am not inserting it correctly into this macro. ‘varname’ is a place holder, but I am not sure where I should replace ‘varname’ with my variable of interest.

Can anyone help?
Trusted Advisor
Posts: 2,113

Re: problem with macro!

put your comments in /* ... */ format. Statement form comments can't be used in the middle of an IF-THEN-ELSE construct.
Ask a Question
Discussion stats
  • 1 reply
  • 101 views
  • 0 likes
  • 2 in conversation