这是来自有关sa的小sas书的练习和项目中的问题。 3练习10。这些问题要求我们将日期读为MMDDYY8。输入并在MMDDYY10中打印。格式。我可以使用infile从外部文件读取数据,但使用数据线会导致无效数据。预先感谢。
data sample;
OPTIONS YEARCUTOFF = 1950;
INPUT date MMDDYY8.;
DATALINES;
01/01/1920
;
run;
proc print data = sample;
format date MMDDYY10.;
RUN:
SAS日志读取:
NOTE: Invalid data for date in line 173 1-12.
RULE: ----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0
173 CHAR ..01/01/1920
date=. _ERROR_=1 _N_=1
NOTE: The data set WORK.SAMPLE has 1 observations and 1 variables.
NOTE: DATA statement used (Total process time):
real time 0.00 seconds
cpu time 0.02 seconds
答案 0 :(得分:3)
简短答案:在输入语句中使用冒号(:
)来应用信息。
options YEARCUTOFF = 1950;
data sample;
input date:MMDDYY8.; /* << use : to apply informat */
datalines;
01/01/1920
;
run;
更长的答案:
常规列表输入(变量名和informat之间没有修饰符)要求数据为标准数字或字符格式。如果要导入任何类型的“特殊”数据(如格式化的日期或多个嵌入的空格或定界符),则需要使用修饰符-例如:
,~
或&
来读取正确。
其他提示:
RUN:
)