我有一个位于本地驱动器上的数据集,我想将其转换为二进制压缩的char压缩(反之亦然)。
data local.dataset1(compress=c);
set local.dataset1;
run;
这是我所知道的最好方法。有没有更快的方法?
答案 0 :(得分:3)
对于没有索引的单个数据集,是的,我认为您的数据步骤是重建文件的最佳方法。
在COMPRESS= documentation详细信息部分
一旦压缩了文件,则设置是文件的永久属性,这意味着要更改设置,必须重新创建文件。也就是说,要解压缩文件,请为复制压缩文件的DATA步骤指定COMPRESS = NO。
您的情况不是解压缩,而是使用其他压缩选项(即算法)重新压缩
对于大于1/2的大型磁盘填充数据集,在重建数据集时可能会出现错误-您需要先将原始文件移至单独的磁盘,然后在{ {1}}库。
对于具有标签,密码,世代和索引等元数据的数据集,您可能要使用Proc DATASETS,带有NOCLONE选项的COPY语句。