2013-08-16 34 views
1

我知道可以使用RETAIN語句在數據集中重新排序變量。假設數據集D1的變量爲v3,v2和v1(並按此順序),並且我希望它們在數據集中顯示爲v1,v2和v3(從左到右查看),我可以執行以下操作:重新排序變量而不重新讀取完整數據集

data D1; 
    retain v1 v2 v3; 
    set D1; 
run; 

這樣做可以不讀取整個數據集?

回答

2

不,您不能在不讀取整個數據集的情況下實際更改變量的順序(因爲這會更改物理存儲方式)。根據不同的原因爲什麼要重新排序,你可以重新安排他們爲你創建一個視圖使用它們的過程的一部分:

data d1v/view=d1v; 
retain v1 v2 v3; 
set d1; 
run; 

那麼你可以使用d1v,你會在大多數(但不是全部)情況下都使用了d1