下午好
所以我有BEST12。
我想转换为date9。
所以我的代码是
data step7_1;
set step7;
service_day2= input(put(datedate, z8.),yymmdd8.);
format service_day2 date9.;
run;
错误是
NOTE: Invalid argument to function INPUT at line 92 column 15.
NOTE: Mathematical operations could not be performed at the following places. The results of the
operations have been set to missing values.
Each place is given by: (Number of times) at (Line):(Column).
4 at 97:15
我该如何解决这个问题?
谢谢
zu
格式只是一种显示数据的机制,因此不需要应用函数来“转换”它,只需使用format语句应用格式:
data step7_1;
set step7;
service_day2 = datedate;
format service_day2 date9.;
run;
如果不需要新变量,则可以只使用format语句:
data step7_1;
set step7;
format datedate date9.;
run;
或者,您可以直接使用来直接更改原始数据集PROC DATASETS
:
proc datasets lib=work nolist;
modify step7;
format datedate date9.;
quit;
这具有不复制数据的优点,它将运行得更快,并且只需修改就位的数据集元数据即可。