全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1819 4
2012-10-14
有数据集A
date                     N
2012-1-01           8
2012-1-02           20
.                           .
.
.                            .
.
2012-9-30          28
怎么以月为单位统计啊(统计每月N的和或平均值)?,最好有程序能把天去掉,留下年和月.求大神指点
二维码

扫码加我 拉你入群

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

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

全部回复
2012-10-14 18:08:47
data   test;
input date : yymmdd10. N;
cards;
2012-1-01           8
2012-1-02           20
2012-2-04    9
2012-2-05  17
2012-2-17   34
;
run;

data test1;
    set test;
        ym=catx("-",year(date),month(date));
run;

proc means data=test1 sum mean;
     class ym;
         var n;
run;
二维码

扫码加我 拉你入群

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

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

2012-10-14 18:52:25
pobel 发表于 2012-10-14 18:08
data   test;
input date : yymmdd10. N;
cards;
data   test;
input date : yymmdd10. N;
cards;
2012-1-01           8
2012-1-02           20
2012-2-04    9
2012-2-05  17
2012-2-17   34
;
run;

data test1;
  set test;
  ym=put(date,yymmn6.); /*一点修改*/
run;

proc means data=test1 sum mean;
     class ym;
         var n;
run;
二维码

扫码加我 拉你入群

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

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

2012-10-14 23:47:47
webgu 发表于 2012-10-14 18:52
data   test;
input date : yymmdd10. N;
cards;
You can use the format statement on date variable and summary on formatted values. There is no intermediate step needed.  

data   test;
input date : yymmdd10. N;
cards;
2012-1-01           8
2012-1-02           20
2012-2-04    9
2012-2-05  17
2012-2-17   34
;
run;

/*data test1;*/
/*    set test;*/
/*        ym=catx("-",year(date),month(date));*/
/*run;*/
/**/
/*proc means data=test1 sum mean;*/
/*     class ym;*/
/*         var n;*/
/*run;*/


proc means data=test sum mean;
     class date;
         var n;
    format date yymm7.;
run;
二维码

扫码加我 拉你入群

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

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

2012-10-15 09:37:22
bobguy 发表于 2012-10-14 23:47
You can use the format statement on date variable and summary on formatted values. There is no int ...
many thanks.
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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