Hello!
This is my macro code:
%macro printz(patient);
proc print data = PT;
where patient = "&patient";
var patient AGE_DERIVED_FUL AGE_DERIVED_UNIT_FUL LstChg_Ts;
run;
%mend printz;
%printz(10011001)
After submission, I got the error message:
ERROR: WHERE clause operator requires compatible variables.
Can I get some help?
Most likely patient is a numeric variable so your WHERE clause needs a compatible value. Remove the quotes to correct your error: where patient = &patient;
Most likely patient is a numeric variable so your WHERE clause needs a compatible value. Remove the quotes to correct your error: where patient = &patient;
Thank you! It works!
try this
%macro printz(patient=);
proc print data = PT;
where patient = "&patient";
var patient AGE_DERIVED_FUL AGE_DERIVED_UNIT_FUL LstChg_Ts;
run;
%mend printz;
%printz(patient=10011001)
Thanks! Yes, patient is a numeric variable and after the correction it works!
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.