楼主: sweet-air
11368 24

[原创博文] 求助:纵列求和后建立一个新的变量(急) [推广有奖]

11
sweet-air 发表于 2010-5-13 15:59:30
这样a中的其他变量就没有了,怎么办呢?没有办法可以不用SQL直接在a中创建这样一个变量吗?

12
sweet-air 发表于 2010-5-13 16:05:32
8# sushe1527

我是说如果出了以上两个变量还有其他变量的话,就只剩下这两个了

13
sushe1527 发表于 2010-5-13 16:08:19
sweet-air 发表于 2010-5-13 16:05
8# sushe1527

我是说如果出了以上两个变量还有其他变量的话,就只剩下这两个了
哦 那你看9楼吧

14
yz7891 发表于 2010-5-13 16:09:15
还是SQL简洁点

15
sweet-air 发表于 2010-5-13 16:12:02
多谢醉_清风,我还要加倍努力啊

16
醉_清风 发表于 2010-5-13 16:29:26
不客气 慢慢来
我也是菜鸟
从来不需要想起 永远也不会忘记

17
crackman 发表于 2010-5-13 16:44:26
/* 方法一:        SQL
data crackman;
input income @@;
datalines;
3000 2000 5000 1400 5400 2800
;
run;
proc sql;
create table crackman as select *, sum(income) as total label="income总计" from crackman;
quit;
*/
/* 方法二:LAG函数
data crackman;
input income @@;
total=lag(income)+lag2(income)+lag3(income)+lag4(income)+lag5(income);
call symput("total",total);
datalines;
3000 2000 5000 1400 5400 2800
;
run;
data crackman;
set crackman;
total=&total.;
run;
*/
/* 方法三:DATA PDV        +merge
data crackman;
input income @@;
datalines;
3000 2000 5000 1400 5400 2800
;
run;
data crackman1;
set crackman end=end;
total+income;
if end=1;
run;
data crackman;
merge crackman1 crackman;
run;
data crackman;
set crackman;
newtotal+total;
drop total;
run;
*/
已有 3 人评分经验 论坛币 学术水平 热心指数 收起 理由
bakoll + 3 + 3 精彩帖子
peijiamei + 1 + 1 精彩帖子
醉_清风 + 1 + 1 版主辛苦了

总评分: 经验 + 3  论坛币 + 3  学术水平 + 2  热心指数 + 2   查看全部评分

18
sllhappy0729 发表于 2010-5-13 16:44:47
把数据集转置一下,算出总和……
这是最白痴的办法!

19
pobel 在职认证  发表于 2010-5-13 17:28:15
data a;
        input x @@;
                drop i;
        if _n_=1 then do i=1 to 3;
                   sum+scan(_infile_, i);
                end;
        datalines;
3000 2000 5000
        ;
run;
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
William_G + 1 + 1 + 1 观点有启发
crackman + 100 + 100 + 1 + 1 我期待的答案

总评分: 经验 + 100  论坛币 + 100  学术水平 + 2  热心指数 + 2  信用等级 + 1   查看全部评分

20
crackman 发表于 2010-5-13 18:31:02
其实PDV非常值得研究

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 12:15