pengh1005 发表于 2010-4-21 09:22 
在使用SAS过程中,碰到一个问题请教:
建立了一个永久数据集,在多次使用后,其大小已达到1G以上,
想只删除记录,保留其表结构,使用了DELETE命令,
发现数据集中的记录是删除了,但文件大小没有变化,还是1G以上,
而且在SAS环境下打开这个空表还是要花费从前一样的时间。
问:
1、数据集的大小只增加,不能减小的吗?
2、如何在删除了记录后,数据集文件大小也能变小?
谢谢!
There are many ways to do it. Here is a one.
264 data class;
265 retain x1-x5 9;
266 do i = 1 to 5;
267 output;
268 end;
269 run;
NOTE: The data set WORK.CLASS has 5 observations and 6 variables.
NOTE: DATA statement used (Total process time):
real time 0.04 seconds
cpu time 0.00 seconds
270
271 data copy_class;
272 stop;
273 set class;
274 run;
NOTE: The data set WORK.COPY_CLASS has 0 observations and 6 variables.
NOTE: DATA statement used (Total process time):
real time 0.01 seconds
cpu time 0.01 seconds
275
276 proc delete data=class;
277 run;
NOTE: Deleting WORK.CLASS (memtype=DATA).
NOTE: PROCEDURE DELETE used (Total process time):
real time 0.00 seconds
cpu time 0.00 seconds