全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9528 4
2015-01-07
data a;
input time datetime16. n a i j;
cards;
13JUL14:00:00:01 1 0 0 1
13JUL14:00:00:02 2 0 0 1
13JUL14:00:00:03 3 0 1 1
13JUL14:00:00:04 4 1 3 1
13JUL14:00:00:05 5 1 0 1
13JUL14:00:00:06 6 3 0 1
13JUL14:00:00:07 7 1 0 1
13JUL14:00:00:08 8 0 1 1
13JUL14:00:00:09 9 0 0 1
13JUL14:00:00:10 10 0 1 1
13JUL14:00:00:11 1 1 0 2
13JUL14:00:00:12 2 0 0 2
13JUL14:00:00:13 3 1 0 2
13JUL14:00:00:14 4 1 5 2
13JUL14:00:00:15 5 0 0 2
13JUL14:00:00:16 6 0 0 2
13JUL14:00:00:17 7 5 1 2
13JUL14:00:00:18 8 1 0 2
13JUL14:00:00:19 9 0 0 2
13JUL14:00:00:20 10 1 0 2
;
run;
proc sql;
create table b as
select max(a) into :x from a by group j;
quit;
数据集a中观测按照n分两组,10个观测为一组,找出每组中a的最大值max(a) ,创建数据集b,使b中只保留每组中n=max(a) 和i=max(a) 的数据,然后计算时间差,如何做到?请指教!thank you!!

二维码

扫码加我 拉你入群

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

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

全部回复
2015-1-7 11:11:54
加个 DENSE_ROW,然后用PARTITON BY 就好了~
二维码

扫码加我 拉你入群

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

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

2015-1-7 11:35:27
Tony-CQNU 发表于 2015-1-7 11:11
加个 DENSE_ROW,然后用PARTITON BY 就好了~
您好!可否详细点?我的程序是可以直接运行的。谢谢啦!
二维码

扫码加我 拉你入群

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

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

2015-1-7 12:15:21
复制代码
二维码

扫码加我 拉你入群

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

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

2015-1-7 15:25:44
sushe1527 发表于 2015-1-7 12:15
您好!特别感谢您的解答!非常好!请问如果做成快照式的该如何写呢?我现在是用j分了两组,如果是每个a与前10条观测中n的值相等的数据保留,该如何做呢?劳驾啦!
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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