全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
6894 4
2015-12-09
悬赏 3 个论坛币 已解决
我的数据表中分别有year 和quarter两列数据(即年度和季度),是使用year()和qtr()函数从yyyy-mm-dd时间格式中截取出来。请问如果我想生成一个新变量,格式为年度+季度(如2010-01、2010-02、2010-03等,或者其他SAS中可是使用的时间格式),应该怎么做?
我的数据形式为
stkcd             year       quarter
000001         2013         2
000003         2011        4
。。。
谢谢

最佳答案

tompiano 查看完整内容

data a; x=input('20151031',yymmdd8.); format x yymmddn8.; y1=x; format y1 yyqd6.; y2=put(x,yyqd6.); y3=strip(year(x))||'-0'||strip(qtr(x)); run; y1显示为格式 保留数值 y2按格式转为文本 y3是你举例的非标准格式 非要这样似乎只有手动拼一下了
二维码

扫码加我 拉你入群

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

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

全部回复
2015-12-9 07:22:44
data a;
        x=input('20151031',yymmdd8.);
        format x yymmddn8.;
        y1=x;
        format y1 yyqd6.;
        y2=put(x,yyqd6.);
        y3=strip(year(x))||'-0'||strip(qtr(x));
run;

y1显示为格式 保留数值
y2按格式转为文本
y3是你举例的非标准格式 非要这样似乎只有手动拼一下了
二维码

扫码加我 拉你入群

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

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

2015-12-9 09:11:19
data test;
  set yourtable;
vintage=compress(year)||'-0'||compress(quarter);
run;
二维码

扫码加我 拉你入群

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

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

2015-12-9 09:54:40
data TEST;
        x=input('2015-12-09',yymmdd10.);
        y=x;
        format x yymmdd10. y yymmn.;
run;
二维码

扫码加我 拉你入群

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

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

2015-12-9 13:59:53
格式yyq.
yyq开头有一组格式都是年+极度的,可见帮助
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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