Sas 如何从库中的所有表中提取一些信息?

Sas 如何从库中的所有表中提取一些信息?,sas,Sas,如何处理SQL以从中名为DATA_的库中提取信息 预期信息包括: 表的名称 表中包含的变体总数 表中包含的观察总数 如果该表包含Subject_ID或Visit_Num,则包含标记为1, 如果不是,则标记为0 我做过这样的尝试: proc sql; create table table_select as select libname, memname, nobs, nvar from dictionary.tables where libname = 'DATA

如何处理SQL以从中名为DATA_的库中提取信息

预期信息包括:

表的名称

表中包含的变体总数

表中包含的观察总数

如果该表包含Subject_ID或Visit_Num,则包含标记为1, 如果不是,则标记为0

我做过这样的尝试:

proc sql;
    create table table_select as
    select libname, memname, nobs, nvar
    from dictionary.tables
    where libname = 'DATA_IN'
    order by nobs descending
;
但仍然不知道如何判断一个表是否包含列Subject\u ID或Visit\u Num,并将其标记为1或0


谢谢你的帮助

您需要一个将DICTIONARY.TABLES与DICTIONARY.COLUMNS连接起来的查询

例如:

proc sql;
  create table want (label='sashelp tables with a column named "name" or "MSRP"') as 
  select 
    tables.libname
  , tables.memname
  , tables.nobs
  , tables.nvar
  , not missing(mark.memname) as has_name_or_msrp
  from
    DICTIONARY.TABLES
  left join 
    (select distinct memname from DICTIONARY.COLUMNS
     where columns.libname = 'SASHELP'
       and upcase(columns.name) in ('NAME', 'MSRP')
    ) as mark
  on 
    tables.memname = mark.memname
  where 
    tables.libname = 'SASHELP' 
    and memtype = 'DATA'  /* restrict to only tables */
  order by 
    nobs descending
  ;

  data _null_;
  run;
什么是变异?你是说变量而不是变量吗?