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;
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 save with the early bird rate—just $795!
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.