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.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.