2016-10-27 45 views
0

我有一堆SAS數據集和我想要合併的seq編號。不幸的是,在一些數據集中,seq是數字,而在其他數據中則是字符。你可以強制一個變量在合併中的數值有效嗎?

我得到以下錯誤:

ERROR: Variable seq has been defined as both character and numeric.

有被合併和發現是罪魁禍首將是艱苦的表很多表。是否有可能在所有表的合併聲明中以有效的方式將seq強制爲數字?

回答

1

不,沒有辦法強制它直接數字(沒有像把單個長度聲明或類似的東西)。您需要根據數據集將其轉換爲數據集上的數字。

有幾種方法可以做到這一點,可以做到這一點,而不用擔心數據集的基礎上數據集上的類型。一種是從dictionary.columns創建recode。另一種方法是將每個數據集寫入一個文本文件,並用一致的輸入語句將其讀回。第三種方法是使用CATS將變量轉換爲字符,然後用輸入讀回數字。

1

您可以創建合併變量爲字符類型的每個數據集的視圖,在視圖內應用適當的recode/drop/rename邏輯,然後將視圖與其他數據集合並。如果您需要爲大量數據集執行此操作,則可以將邏輯寫入一個簡單的宏,然後遍歷它們。

相關問題