BookmarkSubscribeRSS Feed
R_A_G_
Calcite | Level 5

Hello,

Could some explain to me what is the difference between single and double ampersand.

thanks

8 REPLIES 8
JerryLeBreton
Pyrite | Level 9
Tom
Super User Tom
Super User

Multiple && will let the macro processor know that it needs to rescan the token to fully evaluate the macro variable reference. This will allow you to use a macro variable to hold the ame of the variable that you actually what.

%Let name=var1;

%let var1=45;

%let n=1;

%put &&var&n;

%put &&&name;

Tal
Pyrite | Level 9 Tal
Pyrite | Level 9

&& and & resolve the same value,right?

Amir
PROC Star

Hi,

A double ampersand resolves to a single ampersand. Try using:

options symbolgen;

before @Tom's macro code to see messages in the log explaining what is being resolved.

Regards,

Amir.

Tom
Super User Tom
Super User

Right, and also trigger the compiler to re-evaluate the result.

So &&var&n --> &var1 --> 45

R_A_G_
Calcite | Level 5

how about &&&name ?

what would this resolves into?

Reeza
Super User

45

sassharp
Calcite | Level 5

That is Forward Re-scan rule. If you have SAS advanced Certification Book they explained in Chapter 10.

http://www.caliberdt.com/tips/May2006.htm

hackathon24-white-horiz.png

The 2025 SAS Hackathon has begun!

It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.

Latest Updates

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

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
  • 8 replies
  • 2403 views
  • 0 likes
  • 7 in conversation