全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2694 15
2013-09-28
数据如下:
01Jan89   40.27   151.23  50.44
01Feb89   49.29  144.29  44.50
01Mar89   91.50   72.75  40.67
01Apr89   93.71   49.63  36.04
01May89   16.64   33.22  39.79
01Jun89   34.15   22.04  26.47
01Jul89  172.48  118.30  44.86
01Aug89   79.44   18.45  29.28
01Sep89   69.02   23.72  33.53
01Oct89   29.00   27.62  30.07
01Nov89   82.75   65.40  29.99
01Dec89   61.50   99.62  36.88
01Jan90  139.13  122.43  77.90
01Feb90   92.83  105.94  26.58
01Mar90  104.50   69.06  22.75
01Apr90  137.95   44.77  22.00
01May90  120.63   39.09  22.87
01Jun90  145.17  125.01  63.39
01Jul90   58.56   16.45  27.28
01Aug90   78.68   17.22  23.17
01Sep90   21.79   18.78  32.51
01Oct90  195.02   81.05  59.97
01Nov90   71.52   58.76  38.19
01Dec90   72.85  106.69  33.48
01Jan91  123.68  157.71  36.02
01Feb91  111.39  109.77  99.08
01Mar91   70.92   90.58  26.98
01Apr91  118.07   62.41  30.51
01May91   57.80   53.98  33.63
01Jun91   69.11   27.24  24.35
01Jul91  269.06   19.02  26.13
01Aug91   56.79   18.53  23.24
01Sep91   21.17   23.13  21.46
01Oct91   50.00   80.78  28.44
01Nov91   52.57   80.78  28.44
01Dec91  141.12  117.84  42.99
01Jan92   39.39  141.13  28.66
01Feb92   57.86  107.21  28.51
01Mar92   53.69   74.86  21.84
01Apr92  151.33   71.36  82.99
01May92   47.50   24.69  28.22
01Jun92   45.32   23.06  18.69
01Jul92   60.98   16.21  32.52
01Aug92   45.25   19.60  30.20
01Sep92   44.21   19.60  27.59
01Oct92   43.20   27.40  26.03
01Nov92   18.51   60.17  34.29
01Dec92   62.96  134.99  38.11


第一列为date,第二列为Telephone_cost,第三列为Fuel_cost,第四列为Electricity_cost;

如何运用以上数据作出以下的表格:

year   Telephone_Cumulative  Fuel_Cumulative  Electricity_Cumulative  Totalcost_Cumulative
1989        819.75                       826.27                   442.52                          2088.54
1990        1238.63                    805.25                    450.09                           2493.97
1991         1141.68                    841.77                    421.27                          2404.72
1992        670.2                        720.28                     397.65                          1788.13

求大神赐教啊啊啊!!!
二维码

扫码加我 拉你入群

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

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

全部回复
2013-9-28 06:38:17
A simple sql can do it as showed below.

data a;
input date ANYDTDTE. Telephone  Fuel  Electricity  ;
cards;
01Jan89   40.27   151.23  50.44
01Feb89   49.29  144.29  44.50
01Mar89   91.50   72.75  40.67
01Apr89   93.71   49.63  36.04
01May89   16.64   33.22  39.79
01Jun89   34.15   22.04  26.47
01Jul89  172.48  118.30  44.86
01Aug89   79.44   18.45  29.28
01Sep89   69.02   23.72  33.53
01Oct89   29.00   27.62  30.07
01Nov89   82.75   65.40  29.99
01Dec89   61.50   99.62  36.88
01Jan90  139.13  122.43  77.90
01Feb90   92.83  105.94  26.58
01Mar90  104.50   69.06  22.75
01Apr90  137.95   44.77  22.00
01May90  120.63   39.09  22.87
01Jun90  145.17  125.01  63.39
01Jul90   58.56   16.45  27.28
01Aug90   78.68   17.22  23.17
01Sep90   21.79   18.78  32.51
01Oct90  195.02   81.05  59.97
01Nov90   71.52   58.76  38.19
01Dec90   72.85  106.69  33.48
01Jan91  123.68  157.71  36.02
01Feb91  111.39  109.77  99.08
01Mar91   70.92   90.58  26.98
01Apr91  118.07   62.41  30.51
01May91   57.80   53.98  33.63
01Jun91   69.11   27.24  24.35
01Jul91  269.06   19.02  26.13
01Aug91   56.79   18.53  23.24
01Sep91   21.17   23.13  21.46
01Oct91   50.00   80.78  28.44
01Nov91   52.57   80.78  28.44
01Dec91  141.12  117.84  42.99
01Jan92   39.39  141.13  28.66
01Feb92   57.86  107.21  28.51
01Mar92   53.69   74.86  21.84
01Apr92  151.33   71.36  82.99
01May92   47.50   24.69  28.22
01Jun92   45.32   23.06  18.69
01Jul92   60.98   16.21  32.52
01Aug92   45.25   19.60  30.20
01Sep92   44.21   19.60  27.59
01Oct92   43.20   27.40  26.03
01Nov92   18.51   60.17  34.29
01Dec92   62.96  134.99  38.11
;

proc sql;
  select year(date) as year,
  sum(Telephone) as Telephone_Cumulative,
  sum(Fuel) as Fuel_Cumulative,
  sum(Electricity) as Electricity_Cumulative,
calculated Telephone_Cumulative + calculated Fuel_Cumulative + calculated Electricity_Cumulative
as Totalcost_Cumulative
  from a
  group by year
  order by year
  ;
  quit;
二维码

扫码加我 拉你入群

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

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

2013-9-28 06:49:33
bobguy 发表于 2013-9-28 06:38
A simple sql can do it as showed below.

data a;
万分感谢啊,大神!!!但是,我们老师貌似还没有教我们用sql语句,能不能有更加简单的方法来输出这个结果呢?谢谢!
二维码

扫码加我 拉你入群

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

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

2013-9-28 08:53:09
data have;
input date ANYDTDTE. Telephone  Fuel  Electricity;
year=year(date);
Totalcost_Cumulative=Telephone + Fuel + Electricity;

cards;
01Jan89   40.27   151.23  50.44
01Feb89   49.29  144.29  44.50
01Mar89   91.50   72.75  40.67
01Apr89   93.71   49.63  36.04
01May89   16.64   33.22  39.79
01Jun89   34.15   22.04  26.47
01Jul89  172.48  118.30  44.86
01Aug89   79.44   18.45  29.28
01Sep89   69.02   23.72  33.53
01Oct89   29.00   27.62  30.07
01Nov89   82.75   65.40  29.99
01Dec89   61.50   99.62  36.88
01Jan90  139.13  122.43  77.90
01Feb90   92.83  105.94  26.58
01Mar90  104.50   69.06  22.75
01Apr90  137.95   44.77  22.00
01May90  120.63   39.09  22.87
01Jun90  145.17  125.01  63.39
01Jul90   58.56   16.45  27.28
01Aug90   78.68   17.22  23.17
01Sep90   21.79   18.78  32.51
01Oct90  195.02   81.05  59.97
01Nov90   71.52   58.76  38.19
01Dec90   72.85  106.69  33.48
01Jan91  123.68  157.71  36.02
01Feb91  111.39  109.77  99.08
01Mar91   70.92   90.58  26.98
01Apr91  118.07   62.41  30.51
01May91   57.80   53.98  33.63
01Jun91   69.11   27.24  24.35
01Jul91  269.06   19.02  26.13
01Aug91   56.79   18.53  23.24
01Sep91   21.17   23.13  21.46
01Oct91   50.00   80.78  28.44
01Nov91   52.57   80.78  28.44
01Dec91  141.12  117.84  42.99
01Jan92   39.39  141.13  28.66
01Feb92   57.86  107.21  28.51
01Mar92   53.69   74.86  21.84
01Apr92  151.33   71.36  82.99
01May92   47.50   24.69  28.22
01Jun92   45.32   23.06  18.69
01Jul92   60.98   16.21  32.52
01Aug92   45.25   19.60  30.20
01Sep92   44.21   19.60  27.59
01Oct92   43.20   27.40  26.03
01Nov92   18.51   60.17  34.29
01Dec92   62.96  134.99  38.11
;
proc tabulate data=have ;
class year;
var Telephone  Fuel  Electricity Totalcost_Cumulative;
table year='',(Telephone  Fuel  Electricity Totalcost_Cumulative)*sum =''/box=year;
run;
二维码

扫码加我 拉你入群

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

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

2013-9-28 08:59:05
或者用proc report,接上面的写:
proc report data=have nowd;
column year telephone  Fuel  Electricity Totalcost_Cumulative;
define year/group;
run;
二维码

扫码加我 拉你入群

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

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

2013-9-30 03:44:28
beijingdizheng 发表于 2013-9-28 08:59
或者用proc report,接上面的写:
proc report data=have nowd;
column year telephone  Fuel  Electricit ...
万分感谢啊!!!!
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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