作者west1996 ()
看板Statistics
标题Re: [程式] 抓取最後一笔资料
时间Mon May 24 21:41:44 2021
※ 引述《linda841004 (水凝结)》之铭言:
: [软体程式类别]:SAS
: [程式问题]:
: 资料处理
: [软体熟悉度]:
: 熟悉
: [问题叙述]:
: 抓取顾客购买milk的最晚的一笔资料,若无购买milk则取最晚的一笔tea资料
: http://i.imgur.com/5BxpMZp.jpg
: 想变成下图
: http://i.imgur.com/YJR7rk3.jpg
: 程式范例:
: data test;
: input id $ product $ date:date9.;
: cards;
: A milk 01Oct2021
: A tea 02Oct2021
: B tea 03Oct2021
: B tea 04Oct2021
: B tea 05Oct2021
: C tea 06Oct2021
: C milk 07Oct2021
: D milk 08Oct2021
: D milk 09Oct2021
: ;
: run;
: ----这边下面是想处理日期出现最晚的资料---但还想要依据上面的条件抓资料(出来结果也不合我意)
: proc sql;
: create table test1 as
: select distinct id,product,put(max(date),date9.) as date1
: from test
: group by id
: ;
: quit;
: 结果如下图 (结果是错的)
: http://i.imgur.com/tT6IobZ.jpg
: 还请各路大神指点!
: -----
: Sent from JPTT on my HTC_U-3u.
proc sort data=test out=test_sort;
by id product date;
run;
data test1;
set test_sort;
by id product;
retain id_flag;
if first.id=1 then id_flag=0;
if last.product=1 and product='milk' then do;
id_flag=1;
output;
end;
if last.id=1 and id_flag=0 then output;
drop id_flag;
run;
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.247.100.209 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1621863707.A.9CD.html
1F:推 linda841004: 谢谢您的回复,我的问题已解决~~ 05/24 22:11