楼主: vieri32
2021 4

請問怎麼用lag function [推广有奖]

  • 1关注
  • 0粉丝

硕士生

22%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1062 点
帖子
88
精华
0
在线时间
110 小时
注册时间
2009-12-6
最后登录
2021-7-12

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
lag

請問怎麼得到第三列? 十分感謝!
二维码

扫码加我 拉你入群

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

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

关键词:function CTI Fun lag UNC function

回帖推荐

yongyitian 发表于3楼  查看完整内容

沙发
vieri32 发表于 2016-2-27 21:50:20 |只看作者 |坛友微信交流群
以下是一個方法...但想知道怎麼結合lag 和 macro做到


data temp1;
input test$ i;
cards;
A 1
B 2
C 2
D 1
E 3
F 1
G 5
;
run;

data temp2;
set temp1;
k=_n_-i;
j=_n_;
run;


proc sql;
create table temp3 as
select a.*,b.test as test2
from temp2 as a left join temp2 as b
on a.k=b.j
order by j;
quit;

使用道具

藤椅
yongyitian 发表于 2016-2-28 10:20:20 |只看作者 |坛友微信交流群
  1. data temp1;
  2. input test $ i;
  3. cards;
  4. A 1
  5. B 2
  6. C 2
  7. D 1
  8. E 3
  9. F 1
  10. G 5
  11. ; run;

  12. proc sql ;
  13.    select max(i) into : max_lag
  14.    from temp1;
  15. quit;

  16. data _null_;
  17.    length tlag $ %eval(20*&max_lag.);
  18.    do n = 1 to &max_lag;
  19.      lagn = cats("Tlag", n, "=", "lag", n, "(test);");
  20.      tlag = catx(" ", tlag, lagn);  
  21.    end;
  22.    call symput("setlags", tlag);
  23. run;

  24. data temp5;
  25.     set temp1;
  26.     &setlags;
  27.      array tlag(&max_lag);
  28.     test2 = tlag(i);
  29.     keep test i test2;
  30. run;
复制代码


MP772.JPG
已有 2 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
tonic_zlj + 1 + 1 + 1 精彩帖子
vieri32 + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

使用道具

板凳
vieri32 发表于 2016-2-28 20:50:53 |只看作者 |坛友微信交流群
yongyitian 发表于 2016-2-28 10:20
太厲害了!!! 十分謝謝!

使用道具

报纸
tonic_zlj 发表于 2016-3-1 16:34:53 |只看作者 |坛友微信交流群
不过题主的方法效率其实更高一些。

使用道具

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

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

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

GMT+8, 2024-4-27 02:37