6203479170 发表于 2012-4-11 17:21
当sas回到program读下一条观测时,pdv将会reset,pdv里面由input或说明语句创建的变量会变成missing.但从se ...
是吗,那执行下而的语句(chapt3.income里的income分别为210,350,200,210,200
chapt3.stock里的price分别为100,200,300,5,5):
data tmp3;
tot = price;
put income=;
put price=;
put tot=;
set chapt3.income;
tot = price;
put income=;
put price=;
put tot=;
set chapt3.stock;
run;
观察LOG可以看到:
income=.
price=.
tot=.
income=210
price=.
tot=.
income=210
price=100
tot=100
income=350
price=100
tot=100
income=350
price=200
tot=200
income=200
price=200
tot=200
income=200
price=300
tot=300
income=210
price=300
tot=300
income=210
price=5
tot=5
income=200
price=5
tot=5
income=200
price=5
tot=5
显然,RUN和DATA 都没有让PDV RESET,否则income,price一直都会是miss;其次,“pdv里面由input或说明语句创建的变量”也没有变成missing,仍然是上一步iteration计算出来的结果,否则创建出来的tot应该都是MISS才对。。。你明白我说的意思吗?