作者tew (咖啡王子)
看板Statistics
标题Re: [程式] SAS 部分相同资料合并问题
时间Wed Oct 18 21:32:14 2017
※ 引述《loser3o0 (loser3o0)》之铭言:
: 大家好,
: 我的资料长这样,是网页分析资料,有三个栏位,
: SessionKey是拜访cookie的key值,区分不同拜访网页者,
: PageName是观看页面名称
: Step是依时间排序的观看次序,
: SessionKey PageName Step
: 1 A 1
: 1 A 2
if nagename=lag(pagename) then delete;
: 1 B 3
: 1 A 4
: 1 A 5
: 1 C 6
: 1 C 7
: 2 A 1
if this is C you will delete, so failed
i believe the following code would work
data yourdata;
set yourdata;
if nagename^=lag(pagename) then output;
if sessionkey^=lag(sessionkey) then output;
run;
data yourdata;
set yourdata;by sessionkey;
retain newstep 0;
newstep=newstep+1;
if first.sessionkey then newstep=1;
run;
: 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
: 起问各位先进有处理这样的资料的经验吗
--
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 183.234.130.198
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Statistics/M.1508333538.A.498.html
1F:推 loser3o0: 感谢回应您的写法跟我类似加深我的信心感恩 10/19 22:24