SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 541|回复: 0
打印 上一主题 下一主题

try this one

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2005-10-27 00:51:45 | 只看该作者

try this one

proc sort data=tem;  by id date;  run;
data tem_r(keep=id sdate edate new_vol);
     set tem;
         by id;
         retain this_date;
         format sdate edate yymmdd10.;
     lag_id=lag(id);
         lag_vol=lag(vol);
         lag_date =lag(date);
     
         if first.id then this_date=date;
            else do;
                        if lag_vol^=vol then do;
                        id =lag_id;
                                edate=lag_date;
                        new_vol=lag_vol;
                        sdate=this_date;
                        this_date=date;
                        output;
                end;
         end;

          if last.id then do;
                sdate=this_date;
                new_vol=vol;
                edate=date;
                output;
          end;
run;
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-9 06:22 , Processed in 0.072351 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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