I have many macro variables, &x1, &x2, &x3 ... containing text strings. I loop through all of them, using &&x&i to refer to each variable.
In one or more of the text strings, there might a percent sign or ampersand, for example the text string assigned to &x3 is: Image_Test BfCent_AB (%rms) 114
I want to use the %superq so that SAS will not resolve the apparent macro referece %rms in the text strign.
I'd like to use something like %superq(&&x&i) in my loop, but of course that won't work within %superq. Is there a modification or workaround that would allow this to work?
I have tried %nrbquote(&&x&i) and that appears to work, but I get a worrisome WARNING in the SASLog that says:
Apparent invocation of macro RMS not resolved.
Try this %superQ(X&i)
With SUPERQ you "point" the location of the data you want quote. With NRBQUOTE you quote the resolved value of a macro variable reference. Or something like that.
Try this %superQ(X&i)
With SUPERQ you "point" the location of the data you want quote. With NRBQUOTE you quote the resolved value of a macro variable reference. Or something like that.
Yes, that works. It's one of those "why didn't I think of that" moments. Thanks again, data _null_
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.