楼主: X-power
5769 13

分组后进行有条件的累加 [推广有奖]

11
wang1839 在职认证  发表于 2016-10-23 11:27:08
  1. data test;
  2. input name$  time1 yymmdd10. score;
  3. datalines;
  4. a 2016-09-02 35
  5. a 2015-02-17 90
  6. b 2013-07-08 40
  7. a 2016-08-05 89
  8. b 2014-06-02 70
  9. ;
  10. run;

  11. proc sort data = test;
  12. by name time1;
  13. run;


  14. data first(rename=(time1=time2));
  15.         set test;
  16.         by name;
  17.         if first.name;
  18. run;

  19. data test;
  20.         merge first test;
  21.         by name;
  22.         format time1 time2 date9.;
  23.         if first.name then sum=score;
  24.         else if 0<time1-time2<=365 then sum+score;
  25. run;
复制代码
A man who is frustrated will never stand up.

12
一线天56 发表于 2016-10-23 14:14:04
X-power 发表于 2016-10-23 10:07
大多数语句都能看得懂 感觉是个很好的思路 能稍微解释一下sql那块table语句吗 谢谢!
创建一个新数据集。

13
X-power 发表于 2016-10-23 14:42:16
wang1839 发表于 2016-10-23 11:27
这个程序我也写过 可以参见我自己后来写的程序 直接在原数据基础上加上firsttime这样一个变量了 感觉会更简洁点 有啥问题可以随时交流

14
wocaishiliuking 在职认证  发表于 2016-10-24 09:26:37

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 11:09