全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2932 10
2013-04-15
现在我需要把一个数值型变量x(length 8、format best12. 、informat 12. )格式改为(length 8、format YEAR4. )请问如何达成目标,求高手指点。。
二维码

扫码加我 拉你入群

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

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

全部回复
2013-4-15 12:33:35
data aaa;
     format var1 best12.;
   informat var1 12.;
   var1 = 2013;
run;
proc contents data=aaa; run;

data bbb (rename=(var2=var1));
    set aaa;
        format var2 year4.;
        var2 = var1;
        drop var1;
run;

proc contents data=bbb; run;

proc sql;
   alter table aaa
   modify var1 format year4.;
quit;
proc contents data=aaa; run;
二维码

扫码加我 拉你入群

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

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

2013-4-15 12:57:52
yongyitian 发表于 2013-4-15 12:33
data aaa;
     format var1 best12.;
   informat var1 12.;
two methods,good!
二维码

扫码加我 拉你入群

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

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

2013-4-15 15:09:36
yongyitian 发表于 2013-4-15 12:33
data aaa;
     format var1 best12.;
   informat var1 12.;
格式是可以改成功。但新的问题出现了,我的这个变量是一列是年份的值比如1991,1992,1993,1994,1993,1994,1995,1996。但发现改格式后全部变成是1965,不知这是什么原因?求指教,谢谢
二维码

扫码加我 拉你入群

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

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

2013-4-15 15:10:33
rdwalk 发表于 2013-4-15 12:57
two methods,good!
按照楼上的指教,格式是确实是可以改成功。但新的问题出现了,我的这个变量是一列是年份的值比如1991,1992,1993,1994,1993,1994,1995,1996。但发现改格式后全部变成是1965,不知这是什么原因?求指教,谢谢
二维码

扫码加我 拉你入群

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

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

2013-4-15 15:28:21
hsst 发表于 2013-4-15 15:10
按照楼上的指教,格式是确实是可以改成功。但新的问题出现了,我的这个变量是一列是年份的值比如1991,19 ...
那是因为YEARw.这个format是作用在表示日期的值上的。
而SAS中日期的值是指距离1960年1月1日的天数。如果值是1991,则表示1960年1月1日后的第1991天,应该是1965年6月14日。所以用YEAR4.这个format会显示1965
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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