全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
5717 8
2012-04-17
如三列数字

ID    #    amt      interval
A01  1      500          0
A01  2    2000    1500
A01  3    2200      200

如何sas计算出interval?

我尝试用retain,可是失败
data aa1;
   set aa;
   by ID;
   retain interval;
   if first.ID then do;
   interval=0;
   end;
   interval=amt-interval;
run;
出来是:
interval
500 (i.e. amt1)
1500  (i.e. 2000-500, right)
700 (i.e. 2200-1500)

请教高手指正和支招啊~~
   
二维码

扫码加我 拉你入群

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

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

全部回复
2012-4-17 23:07:14
data aa1;
set aa;
by id;
retain y;
if first.id then do; interval=0;
  y=amt;
  end;
  else do;
         interval=amt-y;
                 y=amt;
  end;
  drop y;
  run;
应该行 自己试那的。我也是新手,所以得谨慎.。 呵呵!!
二维码

扫码加我 拉你入群

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

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

2012-4-17 23:30:28
其实你给它定义一个时间,然后用一个差分函数不就可以了吗
二维码

扫码加我 拉你入群

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

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

2012-4-18 08:41:18
复制代码
二维码

扫码加我 拉你入群

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

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

2012-4-18 11:47:54
2870898 发表于 2012-4-17 23:07
data aa1;
set aa;
by id;
试过了,可以的,谢谢阿~~
二维码

扫码加我 拉你入群

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

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

2012-4-18 11:49:13
矛盾的慧根 发表于 2012-4-17 23:30
其实你给它定义一个时间,然后用一个差分函数不就可以了吗
可否给个sample code?菜鸟一枚,还请赐教阿~
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群