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;
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!
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.