楼主: jsuper1261
1262 2

[原创博文] test2 [推广有奖]

  • 0关注
  • 0粉丝

本科生

94%

还不是VIP/贵宾

-

威望
0
论坛币
40 个
通用积分
0
学术水平
1 点
热心指数
1 点
信用等级
0 点
经验
3265 点
帖子
83
精华
0
在线时间
110 小时
注册时间
2012-8-20
最后登录
2025-2-26

楼主
jsuper1261 发表于 2012-9-3 09:17:30 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
test2
二维码

扫码加我 拉你入群

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

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

关键词:test Est

沙发
Imasasor 发表于 2012-9-3 16:51:03
你的问题太简单,没人愿意回答
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

藤椅
salacn 在职认证  发表于 2012-9-4 16:44:17
你好。不知你是否已经解决了问题。我也才学sas不久。我编了一个代码,可能比较繁琐,但是run了一下,符合你的要求。你可以试试。因为我觉得你可能需要把2010年和2011年的数据分开考虑。所以下面的代码只是得到10年的结果。如果需要11年的,只需将代码中2010改成2011即可。
data ds1 ;
        infile 'c:\users\ds1.dat' dlm=',';
        length account $5;
        length name $18;
        input account $  open_date  name $ type $ ;
run;
data ds2 ;
infile 'c:\users\ds2.dat' dlm=',';
length trans_type $20;
input account $ trans_amount trans_date trans_type $;
run;
data ds22010;
        set ds2;
        transdate=put(trans_date,8.);
        transyear=substr(transdate,1,4);
        if transyear='2010';
run;
proc sort data=ds1;
        by account;
run;
proc sort data=ds22010;
        by account;
run;
data temp2010;
        merge ds1(in=in1) ds22010(in=in2);
        by account;       
        if in1 and in2;
        if  first.account then do;
        totalamount=0;
        number=0;
        end;
        do until(last.account ne .);
        totalamount+trans_amount;
        number+1;
        end;
        if last.account then output;
        keep account open_date totalamount number;
run;
proc print data=temp2010;
run;

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

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