Sas 我可以在PROC内容的数据集名称中使用通配符吗?

Sas 我可以在PROC内容的数据集名称中使用通配符吗?,sas,Sas,在SAS服务器上,我们有一个包含数千个数据集的库。我想对其中一个子集的内容进行编目,所有这些子集的名称都以prov开头。我可以使用通配符来指定它吗 我试过: PROC CONTENTS DATA=library.prov*; RUN; 但这只会生成包含以下错误消息的日志: ERROR: File LIBRARY.PROV.DATA does not exist. 我还尝试了library.prov%,结果也出现了同样的错误 有100多个以prov开头的数据集,所以我真的不想一次只做一个。有什

在SAS服务器上,我们有一个包含数千个数据集的库。我想对其中一个子集的内容进行编目,所有这些子集的名称都以prov开头。我可以使用通配符来指定它吗

我试过:

PROC CONTENTS DATA=library.prov*;
RUN;
但这只会生成包含以下错误消息的日志:

ERROR: File LIBRARY.PROV.DATA does not exist.
我还尝试了library.prov%,结果也出现了同样的错误


有100多个以prov开头的数据集,所以我真的不想一次只做一个。有什么想法吗?

在PROC CONTENTS语句中指定关键字“全部”时,该步骤将显示指定SAS库中所有SAS文件的列表

例如:

PROC CONTENTS DATA=libref._ALL_ NODS;
RUN;
但要仅打开以prov开头的数据集,您可以使用SQL并向其中添加CONTAINS,例如:

现在只需运行:

PROC CONTENTS DATA mytables;
RUN;

在PROC CONTENTS语句中指定关键字_ALL_uu时,该步骤将显示指定SAS库中所有SAS文件的列表

例如:

PROC CONTENTS DATA=libref._ALL_ NODS;
RUN;
但要仅打开以prov开头的数据集,您可以使用SQL并向其中添加CONTAINS,例如:

现在只需运行:

PROC CONTENTS DATA mytables;
RUN;

根据CONTENTS过程生成的信息,您可以只使用DICTIONARY元数据视图

proc sql ;
  create table want as 
  select *
  from dictionary.columns
  where libname = 'LIBREF'
    and memname like 'PROV%'
  ;
quit;

根据CONTENTS过程生成的信息,您可以只使用DICTIONARY元数据视图

proc sql ;
  create table want as 
  select *
  from dictionary.columns
  where libname = 'LIBREF'
    and memname like 'PROV%'
  ;
quit;

使用WHERE数据集选项

proc contents data=sashelp._all_ noprint out=class(where=(memname like 'CLASS%'));
   run;

使用WHERE数据集选项

proc contents data=sashelp._all_ noprint out=class(where=(memname like 'CLASS%'));
   run;

我可能正在使用不同版本的SAS检查您是否有库SASHELP,如果有,请根据我在您对之前回复的评论中的说明尝试此方法。您可能会发现,这对您是有效的:

proc sql outobs=100;
create table see as 
select distinct libname,memname,crdate,modate from sashelp.vtable
where libname='LIBRARY' and memname like 'PROV%'
order by memname;
quit;

我可能正在使用不同版本的SAS检查您是否有库SASHELP,如果有,请根据我在您对之前回复的评论中的说明尝试此方法。您可能会发现,这对您是有效的:

proc sql outobs=100;
create table see as 
select distinct libname,memname,crdate,modate from sashelp.vtable
where libname='LIBRARY' and memname like 'PROV%'
order by memname;
quit;

这很好,但是库中有一千多个数据集,我只想要100个名称以PROV开头的内容。你知道你想要哪100个吗,是基于他们最后的创建日期还是命名约定?这很好,但是库中有一千多个数据集,我只想要100个名字以PROV开头的内容。你知道你想要哪100个吗,是基于他们最后的创建日期还是命名约定?