楼主: 小鳄鱼a
19254 13

如何对变量加总求和 [推广有奖]

  • 6关注
  • 10粉丝

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

10论坛币
如何根据每个year 的 每个dadtunit 对dcost求和

QQ截图20140828230812.jpg (301.66 KB)

QQ截图20140828230812.jpg

最佳答案

cnwz 查看完整内容

试试下面的代码 PROC SQL; SELECT year, dadtunit, SUM(dcost) FROM work.audit6 GROUP BY year,dadtunit ORDER BY year,dadtunit; QUIT; 或者 PROC SUMMARY DATA=work.audit6 NWAY; CLASS year,dadtunit; VAR dcost; OUTPUT OUT=want(DROP=_:) N= SUM=sum_dcost; RUN; PROC PRINT DATA=want; RUN;
关键词:year Cost Unit adt ear 如何
沙发
cnwz 发表于 2014-8-29 16:39:29 |只看作者 |坛友微信交流群
试试下面的代码

PROC SQL;

SELECT year, dadtunit, SUM(dcost)
FROM work.audit6
GROUP BY year,dadtunit
ORDER BY year,dadtunit;

QUIT;

或者

PROC SUMMARY DATA=work.audit6 NWAY;

CLASS year,dadtunit;
VAR dcost;
OUTPUT OUT=want(DROP=_:) N= SUM=sum_dcost;

RUN;

PROC PRINT DATA=want;
RUN;
已有 1 人评分论坛币 热心指数 信用等级 收起 理由
小鳄鱼a + 5 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

藤椅
estefania 发表于 2014-8-29 16:48:42 |只看作者 |坛友微信交流群
数据贴到excel里,全选-插入-数据透视表,将dadtunit和year拉到 行标签 ,dcost拉到 数值 下,设为求和项,点击选择表左边的年份,“将所选内容分组”,然后选年。。。。。看错了你是问程序
已有 1 人评分论坛币 热心指数 收起 理由
小鳄鱼a + 2 + 2 精彩帖子

总评分: 论坛币 + 2  热心指数 + 2   查看全部评分

使用道具

板凳
quekehanmu 发表于 2014-8-30 09:55:28 |只看作者 |坛友微信交流群
proc sort data=你的数据 out=a;
        by dadtunit year;
run;

data b;
        set a;
        if first.year then sum_dcost=0;
        sum_dcost+dcost;
        if last.year;
run;

----------------------------------------
随手写的,不知道是否有误
已有 1 人评分论坛币 收起 理由
小鳄鱼a + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

使用道具

报纸
小鳄鱼a 发表于 2014-8-30 10:25:11 |只看作者 |坛友微信交流群
quekehanmu 发表于 2014-8-30 09:55
proc sort data=你的数据 out=a;
        by dadtunit year;
run;
first.year未初始化

使用道具

地板
小鳄鱼a 发表于 2014-8-30 10:34:42 |只看作者 |坛友微信交流群
estefania 发表于 2014-8-29 16:48
数据贴到excel里,全选-插入-数据透视表,将dadtunit和year拉到 行标签 ,dcost拉到 数值 下,设为求和项, ...
仍要谢谢

使用道具

7
小鳄鱼a 发表于 2014-8-30 10:36:39 |只看作者 |坛友微信交流群
cnwz 发表于 2014-8-30 10:09
试试下面的代码

PROC SQL;
sql 那个结果怎么才能输出到数据集中

使用道具

8
quekehanmu 发表于 2014-8-30 10:48:53 |只看作者 |坛友微信交流群
小鳄鱼a 发表于 2014-8-30 10:25
first.year未初始化
你把“你的数据” 改为你导入的sas数据名就可以了
看你的截图应该是work.Audit6

使用道具

9
小鳄鱼a 发表于 2014-8-30 10:50:42 |只看作者 |坛友微信交流群
quekehanmu 发表于 2014-8-30 10:48
你把“你的数据” 改为你导入的sas数据名就可以了
看你的截图应该是work.Audit6
改了  ,  应该先要定义一下first.stkcd吧

使用道具

10
quekehanmu 发表于 2014-8-30 10:56:21 |只看作者 |坛友微信交流群
小鳄鱼a 发表于 2014-8-30 10:50
改了  ,  应该先要定义一下first.stkcd吧
proc sort data=你的数据 out=a;
        by dadtunit year;
run;

data b;
        set a;
        by dadtunit year;
        if first.year then sum_dcost=0;
        sum_dcost+dcost;
        if last.year;
run;

________________________-

两个回复都写太快,忘了加by
已有 1 人评分论坛币 收起 理由
小鳄鱼a + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 03:36