SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 846|回复: 5
打印 上一主题 下一主题

SAS数据步问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2010-3-5 22:49:25 | 只看该作者

SAS数据步问题

数据:
program type code amount
A1 D 1001 100
A1 C 1001 100
A1 D 1002 50
A2 D 1001 100
A2 D 1002 50
A3 C 2000 50
A3 C 1001 100
A3 D 1001 100
A4 D 1002 50
A4 C 1001 100
A4 D 1001 100

……
其中,A1、A2、A3等是活动的名称,code 1001,1002,2000代表费用类型,type D表示收费,C表示退还,amount则是金额
如果相同的code,type D,C同时出现,则金额相等
希望得到,删除相同费用类型,type D,C同时出现的所有观测,在一个program下,最终收费大于0的情况下,其中type为D的观测,如上述数据,处理后应为:
A1 D 1002 50
A2 D 1001 100
A2 D 1002 50
A4 D 1002 50
……

谢谢~
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2010-3-6 09:32:59 | 只看该作者

Re: SAS数据步问题

[code:f08bivuc]data raw;
        input program $ type $ code amount;
datalines;
A1 D 1001 100
A1 C 1001 100
A1 D 1002 50
A2 D 1001 100
A2 D 1002 50
A3 C 2000 50
A3 C 1001 100
A3 D 1001 100
A4 D 1002 50
A4 C 1001 100
A4 D 1001 100
;

proc sort data=raw out=temp;
        by program code;
run;

data temp(drop=sum_amount);
        sum_amount=0;
        do _n_=1 by 1 until(last.code);
                set temp;
                by program code;
                sum_amount+ifn(upcase(type)='C',-amount,amount);
        end;
        do _n_=1 to _n_;
                set temp;
                if sum_amount>0 then output;
        end;
run;[/code:f08bivuc]
超市收供货商的促销费?
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2010-3-6 12:03:00 | 只看该作者

Re: SAS数据步问题

谢谢:)
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2010-3-6 19:53:02 | 只看该作者

Re: SAS数据步问题

是金融企业营销活动的费用
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2010-3-7 13:55:27 | 只看该作者

Re: SAS数据步问题

Flora在国内么?要是这样那国内的金融企业真的是有进步了呢 <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2010-3-7 14:14:01 | 只看该作者

Re: SAS数据步问题

是的,偶在国内
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-3-3 16:02 , Processed in 0.147435 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表