作者linda841004 (水凝结)
看板Statistics
标题[程式] 抓取最後一笔资料
时间Mon May 24 14:08:03 2021
[软体程式类别]: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.
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.224.137.171 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1621836485.A.1A3.html
1F:→ zhiying: 所以product只有milk和tea两种吗? 05/25 06:45
2F:→ zhiying: 如果是的话可以用 05/25 06:46
3F:→ zhiying: PROC SORT DATA=test; BY id product DESCENDING date 05/25 06:46
4F:→ zhiying: ; 05/25 06:46
5F:→ zhiying: PROC SORT DATA=test NODUPKEY; BY id; 05/25 06:46