作者loser3o0 (loser3o0)
看板Statistics
标题[程式] SAS 部分相同资料合并问题
时间Tue Oct 17 20:55:34 2017
大家好,
我的资料长这样,是网页分析资料,有三个栏位,
SessionKey是拜访cookie的key值,区分不同拜访网页者,
PageName是观看页面名称
Step是依时间排序的观看次序,
SessionKey PageName Step
1 A 1
1 A 2
1 B 3
1 A 4
1 A 5
1 C 6
1 C 7
2 A 1
2 B 2
2 B 3
3 A 1
3 C 2
3 C 3
因为常常在相同页面观看,我想将资料压缩成
SessionKey PageName Step NewStep
1 A 1 1
1 B 3 2
1 A 5 3
1 C 6 4
2 A 1 1
2 B 2 2
3 A 1 1
3 C 2 2
时序观看相近的PageName合并成一笔资料(取最前面那一笔),再重新排次序,
nodupkey好像不行 会把 这两笔都删掉,但是我只是要把相近的删除,
SessionKey PageName Step
1 A 4
1 A 5
起问各位先进有处理这样的资料的经验吗
--
Sent from my Windows
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.230.116.121
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1508244936.A.E07.html
1F:推 guitarbird: 创造一个变数lagPageName=lag(PageName),然後 10/17 23:11
2F:→ guitarbird: if PageName=lagPageName then delete 10/17 23:12
3F:推 jaysf: 再补上後续 retain newstep ;by SessionKey; 10/18 10:34
4F:→ jaysf: if first.SessionKey then newstep=0; newstep=newstep+1; 10/18 10:36
5F:→ loser3o0: 感谢回应,我加了一个if LagSessionKey=SessionKey and 10/18 19:18
6F:→ loser3o0: LagPagename=Pagename then delete,因为下一个session 10/18 19:18
7F:→ loser3o0: 的第一笔会继承上一个session的lagpagename,如果恰好一 10/18 19:18
8F:→ loser3o0: 样,第一笔资料会被删除,加上这个条件可以确保每个sess 10/18 19:18
9F:→ loser3o0: ion的第一笔不会被删除,感恩 10/18 19:18