我需要更改現有數據集中的變量長度。我可以改變格式和信息,但不是長度。我收到一個錯誤。文件說這是可能的,但沒有例子。更改SAS數據集中的變量長度
這是我的問題。我的數據源可能會更改,因此我不想預先定義導入列。我想做一個通用的導入,然後查找某些列並調整長度。
我已經嘗試過PROC SQL和DATA步驟。它看起來像這樣做的唯一方法是重新創建數據集或列。我不想這樣做。
感謝, 甄子丹
我需要更改現有數據集中的變量長度。我可以改變格式和信息,但不是長度。我收到一個錯誤。文件說這是可能的,但沒有例子。更改SAS數據集中的變量長度
這是我的問題。我的數據源可能會更改,因此我不想預先定義導入列。我想做一個通用的導入,然後查找某些列並調整長度。
我已經嘗試過PROC SQL和DATA步驟。它看起來像這樣做的唯一方法是重新創建數據集或列。我不想這樣做。
感謝, 甄子丹
如果你把你的長度語句SET語句之前,在數據的步驟,你可以改變一個變量的長度。顯然,如果數據長度超過新長度,將會截斷。
但是,使用DATA步驟來更改長度也會重新創建數據集,所以我很困惑於您的問題的這一部分。
改變一個datastep一個可變長度的唯一方法是源之前定義它(SET)數據集被讀入。
相反,你可以在PROC SQL中使用ALTER語句。 SAS support alter statement
設置數據集後,變量的長度保持不變。添加長度語句設置數據集之前,如果你需要更改列
data a;
length a, b, c $200 ;
set b ;
run ;
一個年輕球員陷阱的長度 - 這不會自動改變一個變量的'format'以匹配新的長度,這實際上可能最終「隱藏」新數據集中長字符串的分配。所以它可能是值得同時改變長度和格式,所以一切都相當整齊。 – thelatemail