2016-02-14 47 views
-1

請幫我解決以下SAS問題。我需要將我的數據集從「原始」轉換爲「新」,如圖所示。因爲「優先級」變量不能排序,所以首先看起來是這樣。最後。變量在這裏不起作用,不是嗎?目標是讓每個優先級序列代表「新」數據集中的一個條目。SAS:替代First。和Last。數據無法排序時的變量?

謝謝!

p.s.我不知道如何在這篇文章中創建表格,所以我只是拍了一張屏幕快照。

http://i.stack.imgur.com/ZZvpB.png

+2

爲什麼你不能排序?添加一個記錄ID,排序,處理,並訴諸原來的想要的順序。請將您的數據作爲文本發佈在代碼塊中。 – Reeza

回答

0

似乎相當簡單的給我。只需創建一個批次ID。

data have_pret; 
    set have; 
    by subject; 
    if first.subject then batchID=0; 
    if priority=1 then batchID+1; 
run; 

然後你可以通過subject/batchID轉置。這假設優先級總是從1開始 - 如果它有時從> 1開始,則可能需要調整邏輯並跟蹤優先級的先前值。