[程式] SAS 部分相同資料合併問題

看板Statistics作者 (loser3o0)時間8年前 (2017/10/17 20:55), 編輯推噓2(207)
留言9則, 3人參與, 8年前最新討論串1/3 (看更多)
大家好, 我的資料長這樣,是網頁分析資料,有三個欄位, 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://www.ptt.cc/bbs/Statistics/M.1508244936.A.E07.html

10/17 23:11, 8年前 , 1F
創造一個變數lagPageName=lag(PageName),然後
10/17 23:11, 1F

10/17 23:12, 8年前 , 2F
if PageName=lagPageName then delete
10/17 23:12, 2F

10/18 10:34, 8年前 , 3F
再補上後續 retain newstep ;by SessionKey;
10/18 10:34, 3F

10/18 10:36, 8年前 , 4F
if first.SessionKey then newstep=0; newstep=newstep+1;
10/18 10:36, 4F

10/18 19:18, 8年前 , 5F
感謝回應,我加了一個if LagSessionKey=SessionKey and
10/18 19:18, 5F

10/18 19:18, 8年前 , 6F
LagPagename=Pagename then delete,因為下一個session
10/18 19:18, 6F

10/18 19:18, 8年前 , 7F
的第一筆會繼承上一個session的lagpagename,如果恰好一
10/18 19:18, 7F

10/18 19:18, 8年前 , 8F
樣,第一筆資料會被刪除,加上這個條件可以確保每個sess
10/18 19:18, 8F

10/18 19:18, 8年前 , 9F
ion的第一筆不會被刪除,感恩
10/18 19:18, 9F
文章代碼(AID): #1PvVt8u7 (Statistics)
文章代碼(AID): #1PvVt8u7 (Statistics)