2014-05-11 46 views
2

說我是否創建一個包含3個觀察值和2個變量(即名稱和ID)的數據集。 如果3個觀測值中只有1個觀測值需要25個字符。sas如何爲數據類型分配內存

DATASET practice; 
INPUT Name $25. Id; 
DATALINES; 
a 20  *1st observation; 
abcdefghijklmnopqrstuvwxy 10  *2nd observation; 
abc 15;  *3rd observation 
run; 

現在我的問題是將SAS分配25個字符的所有3個意見或將其行爲像varchar。

回答

2

使用默認選項,特別是COMPRESS=NO,SAS將爲該字符分配25個字節,並用空格('20'x)填充未使用的字節。這不僅對存儲很重要,而且對字符比較也很重要;而大多數比較忽略尾隨空格,有時不是這樣,尾隨空格需要明確修剪。

但是,如果你使用OPTION COMPRESS=YESOPTION COMPRESS=CHAR,它會在被寫出來,使得它更像varchar數據集壓縮場(它不會佔用很多的浪費列額外的空間)。這些空間在技術上仍然存在,可能需要在程序中考慮,但它們不需要全字節的存儲空間。