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;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.