作者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/m.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