我有一个包含多个大型辅助数据集的库(文件夹),这些数据集是通过对不同大型数据集进行耗时且复杂的连接和查询而创建的。处理和编写一些数据集花了几天时间,重新做角色的事情可能需要一个月的时间。
问题是这些文件没有被压缩,现在我们的服务器空间不足。那么有没有办法压缩库中的所有数据集呢?
我知道我可以写几个数据步骤,例如:
DATA folder.graduates2010 (compress=yes);
SET folder.graduates2010;
RUN;
但是由于有多个数据集并且它们的名称不遵循单一模式(编写宏来完成所有操作),我认为也许有一种更简单的方法来做到这一点,例如,使用
proc datasets
或类似的东西。
为此,有几种选择:
通常您会在每个会话中找到一个“sashelp”库,在这里您会找到一个视图“vtable”,可以过滤到相关库以访问表名称。
或者,proc 数据集也可以与输出一起使用来生成表名称列表。
这两个表列表中的任何一个都可以按照您所描述的那样传递到宏语句中。
在此处执行 vtable 的 ctrl+f 操作:https://www.lexjansen.com/pharmasug/2015/SS/PharmaSUG-2015-SS01.pdf
您可以使用一些很棒的样板(它有第一个选项)。