请选择 进入手机版 | 继续访问电脑版
楼主: zwnSAS121
698 0

[程序分享] 解决实际问题之剔除分组变量中某时间点之前的缺失值 [推广有奖]

  • 6关注
  • 2粉丝

博士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
294 个
通用积分
2.0010
学术水平
13 点
热心指数
16 点
信用等级
13 点
经验
2473 点
帖子
112
精华
0
在线时间
330 小时
注册时间
2015-12-18
最后登录
2020-8-29

zwnSAS121 发表于 2017-3-17 11:26:44 |显示全部楼层 |坛友微信交流群

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
  1. data aa;
  2. informat time yymmdd10.;
  3. input id$ time mark;
  4. format time yymmdd10.;
  5. cards;
  6. a    2011-01-01        .
  7. a    2011-02-01        .
  8. a    2011-03-01        1
  9. a    2011-04-01        .
  10. a    2011-05-01        1
  11. b    2011-02-01        .
  12. b    2011-03-01        1
  13. b    2011-04-01        .
  14. b    2011-05-01        1
  15. c    2011-06-02        .
  16. c    2011-06-03        .
  17. c    2011-07-01        1
  18. c    2011-08-01        .
  19. c    2011-09-01        1
  20. ;

  21. proc sql noprint;
  22. select count(distinct id)
  23.       Into :N
  24.       from aa;
  25. select distinct id
  26.       into :type1-:type%left(&N)  
  27.       from aa;
  28. quit;

  29. %macro split;

  30. %do i=1 %to &N;

  31. /*安照条件分割输出数据集*/
  32. data id_&&type&i;
  33. set aa;
  34. if id="&&type&i" then output id_&&type&i;
  35. run;

  36. /*对每一个数据集进行retain函数复制值的应用*/
  37. data id_&&type&i;
  38. retain mark1;
  39. set id_&&type&i;
  40. if mark ^=. then mark1=mark;/*forward copy*/
  41. if mark1=1;
  42. run;

  43. /*合并数据集*/
复制代码


二维码

扫码加我 拉你入群

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

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

关键词:实际问题 缺失值 Distinct proc sql informat

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

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

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

GMT+8, 2024-3-28 23:16