全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5070 3
2007-03-21

我现在的sas集中tradedate属性是 $25 字符型

我想转化为日期型变量 就是yymmdd8.

我直接采用

data x;

set x1;

format tradedate yymmdd8.;

run;

改不过来,log中还出现错误提示 在线求助

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2007-3-21 13:50:00
data one;
input chardate1 :$6. chardate2 :$9. chardate3 $10. chardate4 :$9.;
datalines;
010199 31dec1999 21/09/2005 5/9/2005
;

/* Use the INPUT function to convert a character value that represents a date */
/* into a SAS date value. Choose the second parameter to the INPUT function */
/* based upon what the current character value looks like. Use a FORMAT */
/* statement to apply the date format you want when you are done. */
/* */
/* Note: If you are in SAS 9.0 or above, you may prefer using the ANYDTDTEw. */
/* Informat as the second argument to the INPUT function. ANYDTDTEw. */
/* can read multiple date layouts. Refer to the SAS Language Reference, */
/* Dictionary under INFORMATS for more information. */


data two;
set one;
sasdate1=input(chardate1,mmddyy6.);
sasdate2=input(chardate2,date9.);
sasdate3=input(chardate3,ddmmyy10.);
sasdate4=input(chardate4,ddmmyy10.);
format sasdate1 mmddyy10. sasdate2 yymmdd10. sasdate3 date9. sasdate4 monyy7. ;
run;

proc print;
run;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-3-21 15:40:00

谢谢2楼

但前提是我目前的日期数据已经在sas集中了

input语句不是只能针对外部文件而言吗?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2007-3-21 16:18:00

多谢fangtmrx

我用

data x2;
set x1;
tradedate1=input(tradedate, f8.);
informat tradedate1 yymmdd8.;
run;

问题基本解决,虽然format变成best12 但是length=8了

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群