DATA Step, Macro, Functions and more

macro variable calculation

Accepted Solution Solved
Reply
Contributor
Posts: 35
Accepted Solution

macro variable calculation

Hi, guys:

I try to take the division operation on macro variables, but it does not work. Can you give me some idea how to do it.

As a simple example, I have a variable, xx=5 and I want to generate yy that yy=1/xx=.2. Both variables are macro variables.

My code is the following

%let xx=5;

%let yy=1/%eval(&xx.);

%put &yy.;

The outcome is yy=0.

It seems to be the case that the division operation causing the trouble. I even tried %let zz=%eval(1/5). The outcome is still 0.

Thanks for your input.



Accepted Solutions
Solution
‎07-09-2012 01:19 PM
Respected Advisor
Posts: 3,156

Re: macro variable calculation

Posted in reply to bigbigben

%let xx=5;

%let yy=%SYSEVALF(1/&xx);

%put yy=&yy;

%SYSEVALF will do floating, while %eval will only do integer.

Haikuo

View solution in original post


All Replies
Solution
‎07-09-2012 01:19 PM
Respected Advisor
Posts: 3,156

Re: macro variable calculation

Posted in reply to bigbigben

%let xx=5;

%let yy=%SYSEVALF(1/&xx);

%put yy=&yy;

%SYSEVALF will do floating, while %eval will only do integer.

Haikuo

Contributor
Posts: 35

Re: macro variable calculation

Hi, Hai.Kuo:

Thanks for the input. It works.

🔒 This topic is solved and locked.

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

Discussion stats
  • 2 replies
  • 12466 views
  • 0 likes
  • 2 in conversation