楼主: lvyuqin0624
1708 5

[原创博文] sas 循环问题 [推广有奖]

  • 3关注
  • 1粉丝

本科生

46%

还不是VIP/贵宾

-

威望
0
论坛币
793 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
4939 点
帖子
56
精华
0
在线时间
125 小时
注册时间
2011-11-24
最后登录
2018-10-12

楼主
lvyuqin0624 在职认证  发表于 2011-11-24 16:01:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
publishday        price
2011-8-2           20
2011-8-3           15
2011-8-4           14
2011-8-6           21
2011-8-7           19
2011-8-8           17
2011-8-9           22
211-8-10            21
...
这一组数据现在要重新调整  
2011-8-2号当天得到的是接下来3的数(不管那天是否有值),即3,4,5号三天的值。重新编排。
publishday     price
2011-8-2       15  14
2011-8-3       14  21
2011-8-4       21  19
2011-8-5       21 19 17
...
二维码

扫码加我 拉你入群

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

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

关键词:Publish Price Rice ice Day

沙发
谢小芹Arale 发表于 2011-11-24 16:07:25

藤椅
lvyuqin0624 在职认证  发表于 2011-11-24 16:10:53
谢谢大家!帮帮忙!

板凳
tj0412ymy 发表于 2011-11-24 17:36:49
lvyuqin0624 发表于 2011-11-24 16:10
谢谢大家!帮帮忙!
FYI.
  1. data Original;
  2. input publishday yymmdd10. price;
  3. cards;
  4. 2011-8-2 20
  5. 2011-8-3 15
  6. 2011-8-4 14
  7. 2011-8-6 21
  8. 2011-8-7 19
  9. 2011-8-8 17
  10. 2011-8-9 22
  11. 2011-8-10 21
  12. ;
  13. run;

  14. %macro match();
  15. proc sql noprint;
  16. select min(publishday) into : mindate
  17. from Original;
  18. select max(publishday) into : maxdate
  19. from Original;
  20. quit;

  21. data alldates;
  22. %do i=&mindate. %to &maxdate.;
  23. publishday=&i.;
  24. price=.;
  25. output;
  26. %end;
  27. format publishday yymmdd10.;
  28. run;

  29. proc sql;
  30. create table final as
  31. select a.publishday,b.price from alldates as a
  32. left join Original as b
  33. on a.publishday=b.publishday;
  34. quit;
  35. %mend;
  36. %match;

  37. data test;
  38. set final(firstobs=2 rename=(price=price1));
  39. set final(firstobs=3 rename=(price=price2));
  40. set final(firstobs=4 rename=(price=price3));
  41. publishday=publishday-3;
  42. format publishday yymmdd10.;
  43. price=compress(put(price1,8.)||' '||put(price2,8.)||' '||put(price3,8.),'.');
  44. run;
  45. proc print;run;
复制代码

对SAS和统计方面感兴趣的朋友,请加SAS学习和认证讨论群:169157207。欢迎在群上讨论!

报纸
jingju11 发表于 2011-11-25 06:52:16
you may do like this as well. JingJu

https://bbs.pinggu.org/forum.php? ... ;extra=#pid10981156

地板
lvyuqin0624 在职认证  发表于 2011-11-25 14:01:18
tj0412ymy 发表于 2011-11-24 17:36
FYI.
多谢!

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

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