Hello,
I wonder why this does not add double quotes to name string.
data _null_; set sashelp.class; put name; run; data _null_; set sashelp.class; put "||name||"; run;
You surround the expression
|| name ||
by quotes, which means sas willl treat it as a literal to be written by your put statemet.
Try
put name $quote10. ;
which applies the $quote format to name. Since name is 8 bytes, I use 10 as the size attribute of the $quote format.
Mark
You surround the expression
|| name ||
by quotes, which means sas willl treat it as a literal to be written by your put statemet.
Try
put name $quote10. ;
which applies the $quote format to name. Since name is 8 bytes, I use 10 as the size attribute of the $quote format.
Mark
@mkeintz Thank you. I was asking this question in reference to use of variable in CALL EXECUTE routine. In example below, memname is not treated as literal.
data _null_; set _dsets_; call execute ( 'proc print data=sugi30.' || trim(memname) || '(obs=50); title ''First 50 observations of data set ' || trim(memname) || '''; run;' ); run;
If you're trying to put quotes around the memname when it appears in the title, then use the put function, with $quote as 2nd argument, in the place where the variable memname appears in the title statement:
data _null_;
set _dsets_;
call execute
(
'proc print data=sugi30.' ||
trim(memname) ||
'(obs=50); title ''First 50 observations of data set ' ||
put(memname,$quote10.) || '''; run;'
) ;
run;
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.