DATA Step, Macro, Functions and more

macro variables

Accepted Solution Solved
Reply
Contributor
Posts: 70
Accepted Solution

macro variables

Hi all,

       Can any body help me to understand how it will executes                                                             

%let one=two;
%let two=three;
%let three=Check;


%put &one;
%put &&one;
%put &&&one;
%put &&&&one;
%put &&&&&one;
%put &&&&&&one;
%put &&&&&&&one;
%put &&&&&&&&one;
%put &&&&&&&&&one;
%put &&&&&&&&&&one;

what is the differnce between &,&& and &&&

How can i understand this concept.



Thanks &Regards

Rawindarreddy




Accepted Solutions
Solution
‎04-28-2012 11:18 AM
SAS Super FREQ
Posts: 8,743

Re: macro variables

In addition to Peter's (excellent) suggestion, searching on the forum would reveal this previous forum posting:

https://communities.sas.com/message/12344#12344 that discusses the forward scan rule and the rescan rule of macro variables (which are the topics you should search for in the documentation). In addition, turning on the system option SYMBOLGEN will help you see the trace of macro variable resolution (including how multiple ampersands are resolved) in the SAS Log. Also, there have been some user group papers on how to approach the resolution of multiple ampersands, such as these two -- there are more if you search:

http://www2.sas.com/proceedings/sugi29/063-29.pdf

http://www2.sas.com/proceedings/sugi22/CODERS/PAPER77.PDF

Also, for a beginner's introduction to macro processing in general, I recommend this paper:

http://www2.sas.com/proceedings/sugi28/056-28.pdf

cynthia

View solution in original post


All Replies
Valued Guide
Posts: 2,175

Re: macro variables

the macro manual is available on-line at http://support.sas.com/documentation

Solution
‎04-28-2012 11:18 AM
SAS Super FREQ
Posts: 8,743

Re: macro variables

In addition to Peter's (excellent) suggestion, searching on the forum would reveal this previous forum posting:

https://communities.sas.com/message/12344#12344 that discusses the forward scan rule and the rescan rule of macro variables (which are the topics you should search for in the documentation). In addition, turning on the system option SYMBOLGEN will help you see the trace of macro variable resolution (including how multiple ampersands are resolved) in the SAS Log. Also, there have been some user group papers on how to approach the resolution of multiple ampersands, such as these two -- there are more if you search:

http://www2.sas.com/proceedings/sugi29/063-29.pdf

http://www2.sas.com/proceedings/sugi22/CODERS/PAPER77.PDF

Also, for a beginner's introduction to macro processing in general, I recommend this paper:

http://www2.sas.com/proceedings/sugi28/056-28.pdf

cynthia

Contributor
Posts: 70

Re: macro variables

thank......u Cynthia.I got it

PROC Star
Posts: 7,363

Re: macro variables

And, after you've read everything that Peter and Cynthia suggested, try running the following expanded version of your code and see if you can predict what the various resulting values will be:

%let Check=four;

%let one=two;

%let two=three;

%let three=Check;

%let four=five;

%let five=six;

%put &one;

%put &&one;

%put &&&one;

%put &&&&one;

%put &&&&&one;

%put &&&&&&one;

%put &&&&&&&one;

%put &&&&&&&&one;

%put &&&&&&&&&one;

%put &&&&&&&&&&one;

%put &&&&&&&&&&&one;

%put &&&&&&&&&&&&one;

%put &&&&&&&&&&&&&one;

%put &&&&&&&&&&&&&&one;

%put &&&&&&&&&&&&&&&one;

☑ This topic is SOLVED.

Need further help from the community? Please ask a new question.

Discussion stats
  • 4 replies
  • 686 views
  • 0 likes
  • 4 in conversation