楼主: burnpark
2424 6

[问答] SAS列累加 [推广有奖]

  • 1关注
  • 2粉丝

已卖:1份资源

讲师

21%

还不是VIP/贵宾

-

威望
0
论坛币
2979 个
通用积分
6.6000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4270 点
帖子
128
精华
0
在线时间
591 小时
注册时间
2009-3-17
最后登录
2024-10-13

楼主
burnpark 发表于 2013-4-2 18:27:31 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
QQ截图20130402191509.png
上面的数据第一列是分组,分组有很多个,
我想让每个分组的最后一列的最后一行的值
等于它所属分组的最后一列的累加,请问要怎么解决?
(就是把红色框框里数的累加值显示在它下面那行)
二维码

扫码加我 拉你入群

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

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


沙发
420948492 发表于 2013-4-2 19:52:32
不知道这是否符合你的要求
PROC SORT DATA=SASHELP.CLASS OUT=TEMP;
BY AGE;
RUN;
PROC PRINT DATA=TEMP;
SUM WEIGHT HEIGHT;
BY AGE;
RUN;
有人的地方就有江湖

藤椅
burnpark 发表于 2013-4-3 08:59:52
420948492 发表于 2013-4-2 19:52
不知道这是否符合你的要求
PROC SORT DATA=SASHELP.CLASS OUT=TEMP;
BY AGE;
要求的是这样的结果,请问怎么能把输出的值贴到原数据上呢?

板凳
burnpark 发表于 2013-4-3 09:46:01
求助

报纸
420948492 发表于 2013-4-3 11:01:09
burnpark 发表于 2013-4-3 09:46
求助
如果数据量不大的话,那你还是用EXCEL的数据透视表吧,能轻易实现你要的效果
有人的地方就有江湖

地板
yongyitian 发表于 2013-4-3 12:49:07
proc sql;
    select sum(weight) into : sum_w
        from sashelp.class;
quit;
%put &sum_w;

data class_weight_total;
     set sashelp.class nobs=nobs;
         if _n_ = nobs then
     do;
           output;
        weight=&sum_w;
        output;
    end;
    else output;
run;

proc print data=class_weight_total; run;
已有 1 人评分学术水平 热心指数 信用等级 收起 理由
burnpark + 1 + 1 + 1 观点有启发

总评分: 学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

7
burnpark 发表于 2013-4-3 13:20:56
谢谢解答,我是用下面的方法做出来的。

proc sort data=sashelp.class;
by age;
run;
data b;
set sashelp.class;
by age;
retain y;
if first.age then y=height;
else y+height;
run;

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 10:45