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!
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.