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."
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.
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.
Thanks, that answers my question very well. ![]()
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.
Ready to level-up your skills? Choose your own adventure.