有以下要求:1.删除ETR>1or ETR<0
2. 删除所得税费用为负的值
3.删除数据不全的公司﹑
4.删除业绩亏损公司
一开始我是用if…delete处理的,但是出来的结果只是删除了不符合要求的数据的列。如下:
data mylib.try1;
set mylib.abc_copy;
if etr>1or etr<0 thendelete;
if Income_tax_expense<0 then delete;
if net_profit <0 then delete;
run;
但我们老师要求的是比如a公司10年数据里有1年的etr是>1,所以关于整个公司的10年的数据都删除掉 。
后来我参考了下面同学的贴子,用ETR>1or ETR<0试了,但是怎么弄也不行
https://bbs.pinggu.org/thread-777356-1-1.html
data mylib.y; set mylib.abc_mb_company_copy; by stkcd; if first.stkcd and etr>1or etr<0 then output ; run; proc sql; select * from mylib.abc_mb_company_copya where not exists (select * from mylib.y b where a.etr=b.etr); quit;(失败)
重复一下问题的重点:stkcd证券
1.删除ETR>1or ETR<0
2. 删除所得税费用为负的值 Income_tax_expense<0
3.删除数据不全的公司﹑ 如缺失值
4.删除业绩亏损公司net_profit <0
只要有任一条件不符合要求,删除该公司的所有信息
如 1中2002年etr>1所以 删除stkcd1所有年度的所有数据。其他删除要求也是这样处理。
stkcd accper etr Income_tax_expense net_profit ...
1 2002 1.2
1 2003 0.1
1 2004 0.5
1 2005 0.7
2 2002 0.8
2 2003 0.1
2 2004 0.5
2 2005 0.7
求求各位大神帮忙一下,在这里感激不尽了。



雷达卡





京公网安备 11010802022788号







