BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
VISHNU239
Obsidian | Level 7

Hi, I have two macro variables &a and &b. I have to sum these two macro variables and assign it to other macro variable name &c. How do I do that? Please help me.

1 ACCEPTED SOLUTION

Accepted Solutions
novinosrin
Tourmaline | Level 20
%let a=1.4;
%let b=1.6;

%let c=%sysevalf(&a+&b);

%put  &=c;

View solution in original post

8 REPLIES 8
LinusH
Tourmaline | Level 20
Take a look at %eval.
Data never sleeps
PaigeMiller
Diamond | Level 26

%eval works only on integers. If &b has a value of 7.5, you get an error. In that case, you could use %sysevalf

 

but you'd still be better off doing anything more advanced than integer arithmetic in a data step

--
Paige Miller
VISHNU239
Obsidian | Level 7

a and b will have decimal values too. can you help me  the statement for that part too?

Reeza
Super User

He did, %SYSEVALF. 

PaigeMiller
Diamond | Level 26

@VISHNU239 wrote:

a and b will have decimal values too. can you help me  the statement for that part too?


Do the math in a data step

--
Paige Miller
novinosrin
Tourmaline | Level 20
%let a=1.4;
%let b=1.6;

%let c=%sysevalf(&a+&b);

%put  &=c;
VISHNU239
Obsidian | Level 7

Thanks guys. it worked.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 8 replies
  • 27140 views
  • 9 likes
  • 6 in conversation