wpfwxn 發(fā)表于 2016-2-14 09:12
非常感謝您的回復(fù),還有一個(gè)問(wèn)題想請(qǐng)教。您的回答是基于自己的猜測(cè),還是在書(shū)本或者論文中見(jiàn)到過(guò)類似的說(shuō) ...
之前search過(guò), 沒(méi)有找到相同問(wèn)題的解釋。
樓上的解釋是基于對(duì)數(shù)據(jù)步的理解。 似乎不是很準(zhǔn)確.
下圖是
SAS文件里的內(nèi)容
下面的例子中 cccc 只有一行數(shù)據(jù). Log output: B eof_cccc=1 這一行說(shuō)明當(dāng)set語(yǔ)句讀到最后一行數(shù)據(jù)
集時(shí)也讀到了 end of file (end=1), 但 data step 并沒(méi)有停止,而是繼續(xù)運(yùn)行了下面的語(yǔ)句 (put "B " _all_;)和run語(yǔ)句,
然后返回 data 語(yǔ)句. 直到再次遇到 set 語(yǔ)句, 但 cccc 已經(jīng)沒(méi)有數(shù)據(jù)可讀, 所以 data step 停止運(yùn)行.
換句話說(shuō): set 語(yǔ)句遇到空數(shù)據(jù)時(shí),data step 就會(huì)停止. 這樣解釋是否更準(zhǔn)確些?
data _null_;
put "A " _all_;
set cccc end = eof_cccc;
put "B " _all_;
run;
/* log output */
A eof_cccc=0 Name= Sex= Age=. Height=. Weight=. _ERROR_=0 _N_=1
B eof_cccc=1 Name=CCCCC Sex= Age=20 Height=. Weight=. _ERROR_=0 _N_=1
A eof_cccc=1 Name=CCCCC Sex= Age=20 Height=. Weight=. _ERROR_=0 _N_=2