全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
3782 7
2012-02-04
这个是原始数据集:

user_id  action seq

001 0 1
001 0 2
001 1 3
001 2 4
001 2 5
001 2 6
002 1 1
002 1 2
002 1 3
002 2 4
002 2 5

想要输出action的第一个最大值和它之前的所有行,输出完如下:

user_id  action seq

001 0 1
001 0 2
001 1 3
001 2 4
002 1 1
002 1 2
002 1 3
002 2 4

请高手帮忙!先谢啦
二维码

扫码加我 拉你入群

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

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

全部回复
2012-2-4 14:54:06
按照你的说法,应该输出这个结果
user_id  action seq

001 0 1
001 0 2
001 1 3
001 2 4
你先把问题搞清楚了再讨论!
二维码

扫码加我 拉你入群

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

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

2012-2-4 16:02:42
According to your example, I think the following code could help.

data test01;
        input user_id $3. action seq;
cards;
001 0 1
001 0 2
001 1 3
001 2 4
001 2 5
001 2 6
002 1 1
002 1 2
002 1 3
002 2 4
002 2 5
;run;
proc sql;
        select max(action) into:max_action
                from test01;
quit;
data test02(drop = flag);
        retain flag;
        set test01;
        if action < &max_action. then do;
                flag = 1;
                output;
        end;else do;
                if flag = 1 then do;
                        flag = 0;
                        output;
                end;
        end;
run;
二维码

扫码加我 拉你入群

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

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

2012-2-5 22:52:12
学习.......
二维码

扫码加我 拉你入群

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

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

2012-2-7 01:04:10
maidenhan 发表于 2012-2-4 16:02
According to your example, I think the following code could help.

data test01;
多谢了!你的output语句非常有用!
二维码

扫码加我 拉你入群

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

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

2012-2-17 23:54:28
高手啊,膜拜。。。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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