data People(drop=type);
infile dst(census);
retain Address;
input type $1. @;
if type='H' then input @3 Address $15.;
if type='P';
input @3 Name $10. @13 Age 3. @16 Gender $1.;
run;
proc print data=People;
run;
census:
H 123s. MAIN ST
P MARY E. 21 F
H 321 s. MAIN ST
P MARY E. 21 M
P tomp E. 20 F
P jim E. 19 F
dst 为地址 filename dst '' '
能解释一下代码含义吗?
困难:为什么type不被输出,用了retain语句地址address能重复使用,用来分层输入可是我不懂后面的if语句好像没有用then
它是如何实现分层输入的。书上说input语句执行完成它就读入下一行数据原来的pdv中的数据消失
除非:加◎ 或◎◎ 或retain语句定义的变量。我现在一知半解,不明白分层输入的原理,请高手帮助。谢谢。