全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1477 4
2010-09-14
求问:
sas里哪个函数能算出一个月有多少天数啊?
格式如200808,
谢谢
二维码

扫码加我 拉你入群

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

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

全部回复
2010-9-14 11:27:31
复制代码
很繁琐......
期待好办法
二维码

扫码加我 拉你入群

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

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

2010-9-14 11:28:55
我也是这么写的,以为有个函数可以直接解决的,期待简单方法
二维码

扫码加我 拉你入群

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

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

2010-9-14 17:39:38
proc format;
    invalue days "01","03","05","07","08","10","12"=31
                             "04","06","09","11"=30
                             "02"=28;
run;

data test;
    input yymm $;
        cards;
200808
200802
200002
201002
198712
200304
;

data wanted;
     set test;
    y=substr(yymm,1,4);
    m=substr(yymm,5);
    d=input(m,days.);
    if mod(y,400)=0  or (mod(y,4)=0 and mod(y,100)^=0) then d=ifn(m="02",d+1,d);
run;
二维码

扫码加我 拉你入群

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

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

2010-9-15 07:03:39
proc format;
    invalue days "01","03","05","07","08","10","12"=31
                             "04","06","09","11"=30
                             "02"=28;
run;

data test;
    input yymm $;
        cards;
200808
200802
200002
201002
198712
200304
;

data wanted;
     set test;
    y=substr(yymm,1,4);
    m=substr(yymm,5);
    d=input(m,days.);
    if m="02" and (mdy(12,31,y)-mdy(1,1,y)+1=366) then d=d+1;
run;
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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