或者帮忙解释一下下面这个program是怎么执行的.谢谢!
| data sasuser.billing1 (drop=type); infile jan98dat; retain ID Name; input Type $1. @; if type='P' then input @3 id $4. @8 name $15.; if type='C'; input @3 Date mmddyy8. @12 Amount comma6.; format date mmddyy8. amount dollar7.2; run; proc print data=sasuser.billing1; run; |
jan98dat的前5条记录是
Raw Data File Jan98dat
| 1---+----10---+----20-- |
| P 1095 SMITH, HOWARD |
| C 01-08-98 $45.0 |
| C 01-17-98 $37.5 |
| P 1096 BARCLAY, NICK |
| C 01-09-98 $156.5 |
obs id name date amount
1 1096 smith,howard 01/09/98 $45.00
2 1096 smith,howard 01/17/98 $37.50
剩下的记录和这个差不多。 我的疑问是,为什么不是第一个input的时候就output了。这个output的机制到底是怎么样的? 请高手赐教,谢谢!
另外就是最后出现的if type='C'; 语句是怎么执行的?如果是否是什么情况。



雷达卡



京公网安备 11010802022788号







