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

This is an embarrasing question, but what exactly is wrong with using the minus sign to count down a variable, such as inside this do-while loop?

data work.countdown;

count = -1;

do while (count NE -100);

       count -1;

end;

run;

proc print data=work.countdown;

run;

It runs perfectly with a plus sign, but once I use the minus sign the count variable turns red and I get this message in the log: "ERROR 180-322: Statement is not valid or it is used out of proper order."

1 ACCEPTED SOLUTION

Accepted Solutions
Quentin
Super User

Hi,

The count+1 thing is it's own type of statement, it's a SUM STATEMENT.  It needs to be a plus sign.  There is no equivalent DECREMENT statement.

If you want to do the same (set to 0, retain, use sum function) but decrement, you can do:

count + - 1;

or

count + (-1);

HTH,

--Q.

View solution in original post

2 REPLIES 2
Quentin
Super User

Hi,

The count+1 thing is it's own type of statement, it's a SUM STATEMENT.  It needs to be a plus sign.  There is no equivalent DECREMENT statement.

If you want to do the same (set to 0, retain, use sum function) but decrement, you can do:

count + - 1;

or

count + (-1);

HTH,

--Q.

TurnTheBacon
Fluorite | Level 6

Thanks, that answers my question very well. Smiley Happy

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

Creating Custom Steps in SAS Studio

Check out this tutorial series to learn how to build your own steps in SAS Studio.

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
  • 1930 views
  • 1 like
  • 2 in conversation