BookmarkSubscribeRSS Feed
deleted_user
Not applicable
I have an if then else statement (shown below) that does not seem to pull all the numbers in. Is there a problem with the Counts? Is there another way to write a statement like this?

if Retention_EndStatus ne 'CLOSED' then EndStatus = 'SAVED ';
else EndStatus = 'CLOSED';
if EndStatus eq 'SAVED ' then SavCnt = 1; else
if EndStatus eq 'CLOSED' then CloCnt = 1;
if EndStatus eq 'SAVED ' then do;
if retention_fulfill ne ' ' then Offer = retention_fulfill;
else Offer = retention_fulfilloo;
2 REPLIES 2
Flip
Fluorite | Level 6
To start with you are testing the same thing several times. Also do you have default values for the things you are not setting in each condition?


if Retention_EndStatus ne 'CLOSED' then Do;
EndStatus = 'SAVED ';
SavCnt = 1;
*** What happens to CloCnt ??? ;
if retention_fulfill ne ' ' then Offer = retention_fulfill;
else Offer = retention_fulfilloo;
end;

else Do;
CloCnt = 1;
** What happens to SavCnt ???;
EndStatus = 'CLOSED';
** What happens to Offer ???;
end;
ChrisNZ
Tourmaline | Level 20
One of many ways to write the same tests:
[pre]
if Retention_EndStatus ne 'CLOSED' then do;
EndStatus = 'SAVED ';
SavCnt = 1;
Offer = ifc( retention_fulfill ne ' ', retention_fulfill, retention_fulfilloo);
end;
else do;
EndStatus = 'CLOSED';
CloCnt = 1;
end;

SAS Innovate 2025: Save the Date

 SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!

Save the date!

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
  • 2 replies
  • 697 views
  • 0 likes
  • 3 in conversation