So, I am trying to create a macro variable to store a list of codes that I will use in an in statement, but it is missing the first and last quotation mark which I will add later, but just trying to %put &icd causes the line and column error. Any suggestions?
proc sql;
select icd_code into :icd separated by "','" from ds ;
quit;
%let pq = %str(%(%');
%let qp = %str(%'%));
if icd in &pq&icd&qp then etc. etc.
Make it easy instead of making it difficult:
proc sql;
select quote(icd_code) into :icd separated by ' ' from ds ;
quit;
if icd in (&icd) then
Make it easy instead of making it difficult:
proc sql;
select quote(icd_code) into :icd separated by ' ' from ds ;
quit;
if icd in (&icd) then
Or
proc sql;
select quote(trim(icd_code)) into :icd separated by ' ' from ds ;
quit;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.