SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 820|回复: 1
打印 上一主题 下一主题

求助:数据处理

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2007-9-20 16:58:33 | 只看该作者

求助:数据处理

有下面的数据:
DW        HX                        HD         JX           BC         BC_HD
CA        DFW-ORD-ANC-PEK        DFW-ORD        74F        2        2
CA        DFW-ORD-ANC-PEK        DFW-ANC        74F        0        0
CA        DFW-ORD-ANC-PEK        DFW-PEK        74F        0        0
CA        DFW-ORD-ANC-PEK        ORD-ANC        74F        0        2

在其他变量都相同的情况下,我想把变量bc_hd里是0的数据修改为2,思路是判断变量HX的长度后,将该条记录里变量bc_hd的值修改为上条记录相同变量的值。
SAS程序如下:

data work.ljy06;
MODIFY work.ljy06;
IF length(hx)>8 and BC_HD = 0 THEN  BC_HD=lag(BC_HD);
run;
但是不成功,请指教?

run;
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2007-9-28 16:09:59 | 只看该作者

Re: 求助:数据处理

你说的跟你做的怎么是两码事啊?就按你所做的进行条件判断吧,你看看是否符合你的要求:
data ***;
        retain temp;
        modify ***;
        if _n_=1 then temp=BC_HD;
        IF length(hx)>8 and BC_HD = 0 THEN BC_HD=temp;
        if _n_>1 then temp=BC_HD;
        drop temp;
run;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-4 10:37 , Processed in 0.126158 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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