楼主: dchrenstu
1211 1

[实际应用] SAS 高手请进,如何实现这个循环。 [推广有奖]

  • 0关注
  • 0粉丝

大专生

6%

还不是VIP/贵宾

-

威望
0
论坛币
103 个
通用积分
0
学术水平
0 点
热心指数
6 点
信用等级
0 点
经验
228 点
帖子
21
精华
0
在线时间
50 小时
注册时间
2010-4-6
最后登录
2022-11-29

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
高手请进: 如下数据,我想实现同一个ID 里面每一行的value 动态查找下次相减绝对值大于6的最近一次那条value记录,比如 第一条value的对应match_value的就是8, 然后第二和第三条对应的就是15. 第4条对应的就是25... 如此循环。

ID     seq    value    match_value
1      1        1          8
1      2        6          15
1      3        8          15
1      4        15         25
1      5        16         25
1      6        25         33
1      7        30         .
1      8        33         .
2      1        ...         ...



二维码

扫码加我 拉你入群

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

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

关键词:第4条 绝对值

已有 1 人评分热心指数 收起 理由
eijuhz + 2 精彩帖子

总评分: 热心指数 + 2   查看全部评分

沙发
l1i2n3i4n5g 在职认证  发表于 2018-7-26 16:55:49 |只看作者 |坛友微信交流群
  1. data test;
  2.    input
  3. ID     seq    value;
  4. cards;
  5. 1      1        1
  6. 1      2        6
  7. 1      3        8
  8. 1      4        15
  9. 1      5        16
  10. 1      6        25
  11. 2      1        10
  12. 2      2        60
  13. 2      3        80
  14. 2      4        150
  15. 2      5        160
  16. 2      6        250
  17. 3      1        1
  18. 3      2        1
  19. 3      3        1
  20. 3      4        1
  21. 3      5        1
  22. 3      6        1
  23. run;

  24. data want;
  25.       set test nobs=n;
  26.       do i=_n_+1 to n;
  27.          set test(rename=(id=tmp_id seq=tmp_seq value=tmp_value)) point=i;
  28.          if tmp_id=id and tmp_value-value>6 then
  29.             do;
  30.                match_value=tmp_value;
  31.                leave;
  32.             end;
  33.       end;
  34. run;
复制代码

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 15:52