当我试图启动DS2线程时,出现了一个奇怪的错误代码。
proc ds2;
thread work.th_ieb /overwrite=yes;
dcl DOUBLE Beg_Jahr;
METHOD RUN();
set {select id, date
from DATA
};
IF FIRST.id THEN DO;
Beg_Jahr = YEAR(DATE);
OUTPUT;
END;
END;
endthread;
run;
错误信息是:
ERROR: Compilation error.
ERROR: Illegal conversion for date or time type. Source line 34.
没有使用YEAR函数也能正常工作。有什么想法?
PROC DS2
中,实际上有一个日期数据类型,不像“传统”的SAS,其中日期存储为自1960年1月1日以来的天数。 - Alex A.