楼主: reduce_fat
208 1

重金悬赏SAS 数据排放问题 [推广有奖]

荣誉版主

海外论坛首席管理员

泰斗

25%

还不是VIP/贵宾

-

TA的文库  其他...

海外原创经济论文和写作技巧

威望
11
论坛币
3567509 个
通用积分
33978.7033
学术水平
6811 点
热心指数
7170 点
信用等级
6642 点
经验
1350 点
帖子
11996
精华
78
在线时间
1842 小时
注册时间
2011-6-13
最后登录
2024-4-20

一级伯乐勋章 初级热心勋章 初级学术勋章 中级热心勋章 中级学术勋章 高级学术勋章 初级信用勋章 特级学术勋章 高级热心勋章 中级信用勋章 特级热心勋章 高级信用勋章 特级信用勋章

200论坛币
重金悬赏SAS 数据排放问题, 这个比较急,希望版内大牛多多帮忙解答。

具体问题,样本数据,和要求,理想结果请看附件里的excel 文件。 如有问题,请指出,我会进一步说明。

200金币做为答谢。 请把大体的 SAS 程序写出,我已经完成部分数据处理才有了样本数据的模式,剩下的要求不会写才悬赏发问。 积极回答,程序越全,思路越清晰越好, 并跟进楼主后续问题 的板油将获得金币和额外奖励。

样本数据.xlsx (13.22 KB)
关键词:重金悬赏 EXCEL 样本数据 xcel exce excel 程序 样本
复制粘贴积分链接 https://bbs.pinggu.org/ext8_airdrop.php?airdropfrom^^uid=2669999
沙发
wang1839 在职认证  发表于 2016-10-2 12:31:43 |只看作者 |坛友微信交流群
  1. data a;
  2. input ID $        IND        Group $        SubGroup $        ItemCount        Price;
  3. cards;
  4. 00001        1        A        A3        1        100000
  5. 00001        1        A        A2        0        27000
  6. 00001        0        E        E1        1        100
  7. 00001        0        B        B2        1        2000
  8. 00001        0        B        B3        0        2500
  9. 00001        0        C        C3        1        1000
  10. 00001        0        D        D4        1        200
  11. 00001        0        E        E2        0        1000
  12. 00001        0        C        C3        0        200
  13. 00001        0        D        D2        0        400
  14. 00001        0        D        D1        0        1000
  15. 00002        1        A        A2        1        44400
  16. 00002        1        A        A1        0        8940
  17. 00002        0        A        A3        1        8800
  18. 00002        0        B        B2        1        500
  19. 00002        0        C        B3        0        1400
  20. 00002        0        C        C3        1        110
  21. 00002        0        E        E3        1        2500
  22. 00002        0        E        E2        0        1200
  23. ;
  24. run;

  25. proc sort data=a;
  26.         BY ID Group descending price;
  27. RUN;


  28. data tempa;
  29.         set a;
  30.         by ID ;
  31.         if first.id;
  32. run;

  33. data finala;
  34.         merge  a (keep=ID Price) tempa(drop=price);
  35.         by id;
  36.         if first.id then ItemCount=1;else ItemCount=0;
  37. run;




  38. data b;
  39. input ID $        IND        Group $        SubGroup $        ItemCount        Price;
  40. cards;
  41. 00003        1        B        B1        1        520
  42. 00003        0        B        B2        0        440
  43. 00003        0        B        B4        0        320
  44. 00003        0        B        B3        0        190
  45. 00003        0        C        C4        1        220
  46. 00003        0        E        E3        1        100
  47. 00003        0        C        C5        0        210
  48. 00003        0        D        D2        1        420
  49. 00003        0        D        D4        0        290
  50. 00004        1        B        B2        1        700
  51. 00004        1        B        B4        0        600
  52. 00004        0        C        C3        1        240
  53. 00004        0        E        E2        1        410
  54. 00004        0        D        D1        1        260
  55. ;
  56. run;


  57. proc sort data=b;
  58.         by ID Group SubGroup descending price;
  59. run;

  60. data tempb;
  61.         set b;
  62.         by ID ;
  63.         if first.id;
  64. run;

  65. data finalb;
  66.         merge b (keep=ID Price) tempb(drop=price);
  67.         by id;
  68.         if first.id then ItemCount=1;else ItemCount=0;
  69. run;
复制代码
A man who is frustrated will never stand up.

使用道具

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

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

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

GMT+8, 2024-4-26 01:32