楼主: Rock2000
2242 3

[有偿编程] 相同组内怎样赋予顺序ID号 [推广有奖]

  • 1关注
  • 24粉丝

学术权威

22%

还不是VIP/贵宾

-

威望
1
论坛币
104812 个
通用积分
25.6012
学术水平
55 点
热心指数
74 点
信用等级
48 点
经验
23619 点
帖子
547
精华
0
在线时间
10769 小时
注册时间
2004-5-27
最后登录
2024-4-13

50论坛币

有一数据集,含ID、YR、MON,数据如下,想创建一个组内ID1,相同的ID内重新从1开始赋予顺序号(下列数据中ID1就是想赋予的顺序号),怎样实现?
  1. ID        yr        mon        ID1
  2. 1        2017        1        1
  3. 1        2017        2        2
  4. 1        2017        3        3
  5. 1        2017        4        4
  6. 1        2017        5        5
  7. 1        2017        6        6
  8. 1        2017        7        7
  9. 1        2017        8        8
  10. 1        2017        9        9
  11. 1        2017        10        10
  12. 1        2017        11        11
  13. 1        2017        12        12
  14. 2        2017        1        1
  15. 2        2017        2        2
  16. 2        2017        3        3
  17. 2        2017        4        4
  18. 2        2017        5        5
  19. 2        2017        6        6
  20. 2        2017        7        7
  21. 2        2017        8        8
  22. 2        2017        9        9
  23. 2        2017        10        10
  24. 2        2017        11        11
  25. 2        2017        12        12
  26. 2        2016        1        13
  27. 2        2016        2        14
  28. 2        2016        3        15
  29. 2        2016        4        16
  30. 2        2016        5        17
  31. 2        2016        6        18
  32. 2        2016        7        19
  33. 2        2016        8        20
  34. 2        2016        9        21
  35. 2        2016        10        22
  36. 2        2016        11        23
  37. 2        2016        12        24
复制代码

沙发
Rock2000 发表于 2017-8-7 10:56:28 |只看作者 |坛友微信交流群
自己解决了
  1. data test;
  2. input id yr mon;
  3. cards;
  4. 1        2017        1  
  5. 1        2017        2  
  6. 1        2017        3  
  7. 1        2017        4  
  8. 1        2017        5  
  9. 1        2017        6  
  10. 1        2017        7  
  11. 1        2017        8  
  12. 1        2017        9  
  13. 1        2017        10
  14. 1        2017        11
  15. 1        2017        12
  16. 2        2017        1  
  17. 2        2017        2  
  18. 2        2017        3  
  19. 2        2017        4  
  20. 2        2017        5  
  21. 2        2017        6  
  22. 2        2017        7  
  23. 2        2017        8  
  24. 2        2017        9  
  25. 2        2017        10
  26. 2        2017        11
  27. 2        2017        12
  28. 2        2016        1  
  29. 2        2016        2  
  30. 2        2016        3  
  31. 2        2016        4  
  32. 2        2016        5  
  33. 2        2016        6  
  34. 2        2016        7  
  35. 2        2016        8  
  36. 2        2016        9  
  37. 2        2016        10
  38. 2        2016        11
  39. 2        2016        12
  40. ;

  41. proc sort data=test; by id; run;

  42. data result; set test;
  43. by id;
  44. retain id1 0;
  45. if first.id then id1=1;
  46. else id1=id1+1;
  47. run;
复制代码

使用道具

藤椅
Rock2000 发表于 2017-8-16 16:53:56 |只看作者 |坛友微信交流群
data test;
input id yr mon;
cards;
1        2017        1  
1        2017        2  
1        2017        3  
1        2017        4  
1        2017        5  
1        2017        6  
1        2017        7  
1        2017        8  
1        2017        9  
1        2017        10
1        2017        11
1        2017        12
2        2017        1  
2        2017        2  
2        2017        3  
2        2017        4  
2        2017        5  
2        2017        6  
2        2017        7  
2        2017        8  
2        2017        9  
2        2017        10
2        2017        11
2        2017        12
2        2016        1  
2        2016        2  
2        2016        3  
2        2016        4  
2        2016        5  
2        2016        6  
2        2016        7  
2        2016        8  
2        2016        9  
2        2016        10
2        2016        11
2        2016        12
;

proc sort data=test; by id; run;

data result; set test;
by id;
retain id1 0;
if first.id then id1=1;
else id1=id1+1;
run;

使用道具

板凳
superguy333 发表于 2017-8-16 23:13:13 |只看作者 |坛友微信交流群
Rock2000 发表于 2017-8-16 16:53
data test;
input id yr mon;
cards;
厉害,分享

使用道具

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

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

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

GMT+8, 2024-4-19 19:03