如何获取库中的 SAS 表大小和上次使用时间
How to get SAS tables sizes and last usage time in library
美好的一天!
我需要一个 SAS 服务器上的库列表-table,每个库的大小为 table,上次是 open/used。
我对SAS不是很熟悉,所以我什至不知道从哪里开始搜索:(
我想,有一些简单的解决方案,也许是某种过程,可能会有所帮助...
您可以使用 proc contents
访问有关 SAS 库的元数据,例如使用 sashelp
库:
proc contents data = sashelp._ALL_ NODS;
run;
sashelp
是您引用的库。通过指定 _ALL_
,您可以向 SAS 询问有关该库中所有文件的数据(通过选择单个文件,例如 sashelp.ztc
,您可以获得关于一个文件的信息)。
这将为您提供大量信息,因此通过使用 NODS
语句,您可以抑制输出以减少细节。上面的代码会给你文件的数量、类型、级别、文件大小和最后修改的数据。
如果要将此信息输出到数据集,则必须使用具有正确 ods table 名称的 ODS 输出系统,在本例中为 Members
。此外,如果您正在寻找特定的数据集,那么您可以使用 where=
语句过滤输出:
ods output Members = test (where = (memtype = "DATA"));
proc contents data = work._ALL_ NODS noprint;
run;
ods listing; /* change back to listing output*/
美好的一天!
我需要一个 SAS 服务器上的库列表-table,每个库的大小为 table,上次是 open/used。
我对SAS不是很熟悉,所以我什至不知道从哪里开始搜索:(
我想,有一些简单的解决方案,也许是某种过程,可能会有所帮助...
您可以使用 proc contents
访问有关 SAS 库的元数据,例如使用 sashelp
库:
proc contents data = sashelp._ALL_ NODS;
run;
sashelp
是您引用的库。通过指定 _ALL_
,您可以向 SAS 询问有关该库中所有文件的数据(通过选择单个文件,例如 sashelp.ztc
,您可以获得关于一个文件的信息)。
这将为您提供大量信息,因此通过使用 NODS
语句,您可以抑制输出以减少细节。上面的代码会给你文件的数量、类型、级别、文件大小和最后修改的数据。
如果要将此信息输出到数据集,则必须使用具有正确 ods table 名称的 ODS 输出系统,在本例中为 Members
。此外,如果您正在寻找特定的数据集,那么您可以使用 where=
语句过滤输出:
ods output Members = test (where = (memtype = "DATA"));
proc contents data = work._ALL_ NODS noprint;
run;
ods listing; /* change back to listing output*/