BookmarkSubscribeRSS Feed
Grandhi4
Calcite | Level 5

Hi all,

This is one xl formula can any one give a sas code (in macros)

=SUM(IF(O7>0.5,0.5+0.5*(O7-0.5),O7), IF(P7>0.5, 0.5+0.5*(P7-0.5),P7),IF(Q7>0.5,0.5+0.5*(Q7-0.5),Q7),IF(R7>0.5,0.5+0.5*(R7-0.5),R7),IF(S7>0.5,0.5+0.5*(S7-0.5),S7),IF(T7>0.5,0.5+0.5*(T7-0.5),T7))

Thanks

suresh

1 REPLY 1
Keith
Obsidian | Level 7

I would use an array to do this in SAS, something along the following lines.

%let val=0.5;

data want;

input o7 p7 q7 r7 s7 t7;

array vars{*} o7--t7;

sumvars=0;

do i=1 to dim(vars);

      sumvars+ifn(vars{i}>&val.,&val.+&val.*(vars{i}-&val.),vars{i});

end;

drop i;

cards;

0.5   0.3   0.2   0.6   0.1   2

;

run;

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
  • 1 reply
  • 654 views
  • 0 likes
  • 2 in conversation