The SAS log below, using a PUTLOG, not an OUTPUT, demonstrates clearly the SAS operational behavior with each:
1 data work.Test;
2 Amount=50;
3 do pay_time = 1,2,3,4 while (Amount LE 100);
4 Amount+ 50;
5 putlog _all_;
6 end;
7 run;
Amount=100 pay_time=1 _ERROR_=0 _N_=1
Amount=150 pay_time=2 _ERROR_=0 _N_=1
Amount=200 pay_time=3 _ERROR_=0 _N_=1
NOTE: The data set WORK.TEST has 1 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.03 seconds
cpu time 0.03 seconds
8 /*
9 proc print data=work.Test;
10 run;
11 */
12 data work.Test1;
13 Amount=50;
14 do pay_time = 1,2,3,4 until (Amount GE 100);
15 Amount+ 50;
16 putlog _all_;
17 end;
18 run;
Amount=100 pay_time=1 _ERROR_=0 _N_=1
Amount=150 pay_time=2 _ERROR_=0 _N_=1
Amount=200 pay_time=3 _ERROR_=0 _N_=1
Amount=250 pay_time=4 _ERROR_=0 _N_=1
NOTE: The data set WORK.TEST1 has 1 observations and 2 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
Scott Barry
SBBWorks, Inc.
... View more