SAS:如何在包含最多案例的库中查找数据集?

时间:2019-03-18 09:03:34

标签: sas sas-macro

由于一个库中包含许多数据集。如何使用SAS代码找出哪个案例案例数最多? 假设库名称为“ SASHELP”。

谢谢!

1 个答案:

答案 0 :(得分:0)

SQL dictionary.*表家族允许访问各种元数据。请注意,某些字典请求会在收集所请求的信息时引起很多活动。

来自文档:

  

如何查看词典表
  …
  字典表和效果

     

查询字典表时,SAS会收集与该表有关的信息。根据要查询的字典表,此过程可以包括搜索库,打开表和执行SAS视图。与其他SAS过程和DATA步骤不同,PROC SQL可以通过在启动选择过程之前优化查询来改进此过程。因此,尽管可以通过使用SASHELP视图通过SAS过程或DATA步骤访问字典表信息,但通常使用PROC SQL更为有效。
  …

     

注意:SAS不维护查询之间的字典表信息。字典表的每个查询都会启动一个新的发现过程。

示例:

* Use dictionary.tables to get the names of the tables with the 10 most rowcount;

proc sql;
  reset outobs=10;

  create table top_10_datasets_by_rowcount as
  select libname, memname, nobs 
  from dictionary.tables
  where libname = 'SASHELP'
    and memtype = 'DATA'
  order by nobs descending
  ;

  reset outobs=max;