在执行
proc sort data=test ;by a b;run; 时,test数据集有1150万数据 139个变量,结果执行期间报磁盘不足:
解决办法如下:
proc sort data= test tagsort sortsize=2000m out=test1(compress=yes); by a b ; run;
sortsize= :用以指定可用最大内存的大小,等号后为表示内存大小的数值及单位,比如600m 。
tagsort:指定在临时文件中仅存储排序变量和记录编号,以减少对磁盘空间的使用。
执行proc sql 报c磁盘不足解决办法
sas默认work在C盘;在执行proc sql时会占C盘存储,可以在跑大的sql时看C盘存储一直在减少,
所以可以通过更改work默认路径,把work更改在存储空间比较大的盘里,
修改方法如下:在D:\soft\SASHome\SASFoundation\9.4\nls\u8\sasv9.cfg 文件中把-WORK "!TEMP\SAS Temporary Files",改成自己电脑比较大的盘,如;-WORK "D:\sastemp",同理更改D:\soft\SASHome\SASFoundation\9.4\nls\en\sasv9.cfg;D:\soft\SASHome\SASFoundation\9.4\nls\u8\sasv9.cfg;D:\soft\SASHome\SASFoundation\9.4\nls\1d\sasv9.cfg文件里的work路径为-WORK "D:\sastemp"