BookmarkSubscribeRSS Feed
deleted_user
Not applicable
I'm trying to use a %let statement to store a html path.
However, it doesn't seem to be working:

%let path=%str(http://domapp.com/Applications/AS/CZ/03de670ff5/$FILE);
html='href="&path./summary_bu.htm"';

Any suggestions?
Thank you.
2 REPLIES 2
MikeZdeb
Rhodochrosite | Level 12
hi ... macro variables only resolve when inside double quotes ...
[pre]
%let path=%str(http://domapp.com/Applications/AS/CZ/03de670ff5/$FILE);
data _null_;
length html $80;
html = 'href="&path./summary_bu.htm"';
put 'HTML: ' html;
html = "href='&path./summary_bu.htm'";
put 'HTML: ' html;
html = "href=""&path./summary_bu.htm""";
put 'HTML: ' html;
run;

the LOG ...
HTML: href="&path./summary_bu.htm"
HTML: href='http://domapp.com/Applications/AS/CZ/03de670ff5/$FILE/summary_bu.htm'
HTML: href="http://domapp.com/Applications/AS/CZ/03de670ff5/$FILE/summary_bu.htm"
[/pre]
PatrickG
SAS Employee
An aside: Mike's second example doesn't look like it should work, e.g. one wouldn't expect the SAS Macro Facility to resolve the &path variable inside of the single quotes. But since these lie within double quotes, the macro facility sees the single quotes as plain-old characters and not single quotes and DOES resolve the &path variable within.

html = "href='&path./summary_bu.htm'";
put 'HTML: ' html;

(snip snip)

HTML: href='http://domapp.com/Applications/AS/CZ/03de670ff5/$FILE/summary_bu.htm'
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 2333 views
  • 0 likes
  • 3 in conversation