DATA Step, Macro, Functions and more

%bquote and %nrbquote

Occasional Contributor
Posts: 8

%bquote and %nrbquote


I was trying to mask single quotation mark in a SAS macro variable & was using %bquote to do that.

But using %bquote I was getting reolving issues especially when I use multiple '&' as in the example below. I was thinking that %bquote wouldn't mask '&' unlike %nrbquote. 

Say, in the below example:

%let MACVAR1=10;
%let a1=MACVAR1;

%let j=&a1;
%let k=%bquote(&a1);
%let m=%nrbquote(&a1);

%put "double_j = &&&j";

%put "double_k = &&&k";
%put "double_m = &&&m";

NOTE: Remote submit to SERVER commencing.

"double_j = 10"

"double_k = &MACVAR1"

"double_m = &MACVAR1"

NOTE: Remote submit to SERVER complete.

Reading through the SAS documentation I was expecting that double_k should also be resolved as 10 not "&MACVAR1" as we are using %bquote.

Experts, please correct me if I am wrong here. Please advise.



Trusted Advisor
Posts: 3,215

Re: %bquote and %nrbquote

Posted in reply to geoonline

macro quoting in a current SAS session is already terrible.  Using that in combination with sas/connect remote session (different machine types) is even more troublesome.  Please explain better you real issue / question this is far too fragmented.  (SAS versions?  OS types? goal?)

---->-- ja karman --<-----
Ask a Question
Discussion stats
  • 1 reply
  • 2 in conversation