I have a footnote "%s: percentage of successful attempts".
if i use %nrstr(&footnote.) where footnote sontains "%nrstr(&footnote.)"
i get the following warning.
WARNING: Apparent invocation of macro S not resolved.
How can i mask this
Use single quotes instead of double is a quick way.
In single quotes SAS won't try and resolve the macro, in double quotes it would. If you also needed to include a macro variable in your footnote this wouldn't work.
It was not in quotes for example:
%put footnote = <%nrstr(&footnote.)>;
So, can you provide some example of what it is your doing. Why have the footnote in a macro variable, normally there would be lots of footnotes, so easier to store them in a dataset, then call it from there:
data _null_; set footnotes; call execute(cat('footnote',strip(put(_n_,best.)),' j=l "',strip(footnote),'";')); run;
I have a dataset which has all footnotes for each table and importing the dataset for each particular program and calling them
call symput('footnote',%nrbquote(strip(footnote))); in the datastep then i am using %put footnote = <%nrbquote(&footnote.)>;
Yes, so you could try the datastep I provided above, to simply generate the statements from the datastep - avoid all the macro variables and other processing.
Can you post actual SAs code that replicates the error message? It is unclear if you are talking about the FOOTNOTE statement or the creation of a macro variable named FOOTNOTE or expanding the reference to a macro varaible named FOOTNOTE.
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.