teqel 发表于 2015-11-24 01:02 
data test;
set b; /*b的数据集就不写了*/
do n=1 to 10;
好牛啊,谢谢大神!还有一个问题,是日记出错的,为什么说函数input参数出错呢?但是也转换成了日期形式,达到了我的目的(见原文图2)。可是为什么呢?这样下去会不会出错呢???
211 data test1;
212 set b; /*b的数据集就不写了*/
213 do n=1 to 10;
214 if seq=n then do;
215 mhstdat1=input(mhstdat,yymmdd10.);
216 mhendat1=input(mhendat,yymmdd10.);
217 format mhstdat1 yymmdd10. mhendat1 yymmdd10.;
218 leave;
219 end;
220 end;
221 run;
NOTE: 字符值已转换为数字值,位置:(行:列)。
214:7
NOTE: 函数 INPUT 的参数(行 215 列 13)无效。
SITEID=第三军医大学第一附属医院 USUBJID=102 SEQ=4 MHENDAT= MHSTDAT=200906NK n=4 mhstdat1=.
mhendat1=. _ERROR_=1 _N_=15
NOTE: 在以下位置无法执行算术运算。运算结果已设为缺失值。
每个位置的指定方式: (次数)(行:列)。
1 215:13
NOTE: 从数据集 WORK.B 读取了 20 个观测。
NOTE: 数据集 WORK.TEST1 有 20 个观测和 8 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
实际时间 0.12 秒
CPU 时间 0.01 秒