我怎樣才能拉一個變量的最後一個觀察沒有排序在SAS?有誰知道我可以如何使用SQL查詢完成此操作。我理解的方法是使用SAS中的last.variable,但不能對錶進行排序以獲得期望的結果。謝謝。拉最後的觀察變量
拉最後的觀察變量
回答
更新,以更好地回答澄清
後的問題,如果你有沒有日期的事務數據集,但需要得到每個ID最近的事務,你可以創建一個計數器,它可以讓你找到最近的交易。
ID
2
1
4
1
2
2
4
第1步:使用sum statement
data have2(compress=yes); /* Dataset is compressed due to size */
set have;
transaction_nbr+1;
run;
爲每個交易計數器這將產生:
ID transaction_nbr
2 1
1 2
4 3
1 4
2 5
2 6
4 7
步驟2:選擇最大交易數量的新數據集
proc sql noprint;
create table want as
select ID, transaction_nbr
from have2
where transaction_nbr in(select max(transaction_nbr) from have2 group by ID)
order by ID;
quit;
你的數據集現在應該包含最新的交易每ID:
ID transaction_nbr
1 4
2 6
4 7
在這裏,你所得到的一切都在一步。由於您創建了自己的計數器,因此where
聲明中的子查詢將保證所選事務是最新的。
你好斯圖,這沒有用。讓我再解釋一遍。該表是沒有時間戳的事務表。所以,如果我試圖拉最後的交易,我沒有日期參數使用。所以我需要爲該變量提供最後一筆交易。我拉數據後,有一個地方,我檢查一些id號碼,以檢查它的正確性。 –
但是,當我運行此代碼它的工作原理:data temp; set life end = last; 其中master_id =「xxxxxxxx」;如果最後一次是 ; 跑;因爲它是一個很大的數據集,所以我不能使用where語句來存儲我需要的所有ID。我已經嘗試了最後一個變量(排序和未排序),但沒有工作 –
數據集有多大?如果您可以將兩個數據集合並在一起,那麼您可以一步完成。您可能想嘗試使用PROC SQL。我將更新上面的代碼以包含此內容。 –
- 1. 上觀察到的變量
- 2. 轉化觀察到變量
- 3. 觀察只讀變量
- 4. 在Xcode中觀察變量
- 5. 在Linux中觀察變量
- 6. AngularJs觀察窗口變量
- 7. 觀察成員變量值的變化
- 8. 觀察Angular2中的變量值變化
- 9. 根據每次觀察的暴露量創建滯後變量
- 10. 觀察變量變化不起作用
- 11. 複製一個變量從第一個變量到最後一個變量的觀察
- 12. Android/Java:觀察主類中的變量
- 13. 雙重統計觀察值的變量
- 14. SAS:獲取最後一個非零觀察值的變量名稱
- 15. 分箱,然後用最小數量的觀察結合箱子?
- 16. R:總結多個變量觀察次數的最快方法
- 17. 除以觀察列最後一行
- 18. 基於R中的滯後觀察值創建一個變量
- 19. 可觀察拉鍊爲了
- 20. 觀察者在變更後停止
- 21. 在Magento付款之後,最早可以觀察的觀察者是什麼?
- 22. Dart:可觀察變量不更新
- 23. 觀察非實體全局變量
- 24. Angular2全局變量可觀察
- 25. 觀察一個PHP變量爲XDebug Breakpoint
- 26. 計算可觀察動態變量
- 27. 將觀察者添加到BOOL變量
- 28. 淘汰賽JS觀察全局變量
- 29. 聚合物:觀察者全局變量
- 30. 如何用PyCharm觀察變量?
SQL很可能會在後端執行排序而不告訴您(除非您要求計劃)。你是爲了表現的目的而試圖避免這種情況,還是你不想排序,因爲它已經按照某種東西排序了,並且你希望排序方法中的'last.variable'?如果你想獲得有用的幫助,請發佈一些示例數據'有'和'想要'。 – Joe