作者chatavide (chatavide)
看板Statistics
标题[程式] SAS 计算民国日期
时间Wed Feb 19 16:33:33 2014
[软体程式类别]:
sas
[程式问题]:
资料处理
[软体熟悉度]:
中(3个月到1年)
[问题叙述]:
想计算两栏位的日期差几天,但是原始档案是以民国的格式呈现(文字格式)
Logdate Startdate
0900824 0900827
0950513 0950501
1010721 1010723
参考网路的资料後,我先尝试将它转成mdy的格式
data test002;
set test001;
logdate2=mdy(input(substr(logdate,4,2),2.),input(substr(logdate,6,2),2.),
input(substr(logdate,1,3),3.));
run;
但出现问题如下:
NOTE: Invalid argument to function MDY at line 128 column 10.
LOGDATE=1010721 startdate=1010723 logdate2=. _ERROR_=1 _N_=57
想请教大家该怎麽处理?
另外,是否有其他方法可以计算民国日期差
目前是用很笨的方法:
substr成yy,mm,dd三栏
然後yyyy=yy+1911
之後再将yyyy,mm,dd三栏合并成一栏
data test9991;
set test999;
length logdate2 $25;
logdate2 = trim(yyyy) || trim(mm) || trim(dd) ;
logdate2=compress(logdate2);
put logdate2;
run;
感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.140.253
※ 编辑: chatavide 来自: 140.112.140.253 (02/19 17:54)