DICTIONARY介绍
DICTIONARY可以得到很多SAS文件和会话等很多的元数据,包括SAS文件,外部文件,系统选项、宏、标题、脚注等。
DICTIONARY是在初始化时就创建,自动更新,并只允许读取操作,故不能修改。
下面列举一下SAS中DICTIONARY所包含的表:
SAS V8 DICTIONARY所包含的表:
CATALOGS:SAS目录的信息
COLUMNS:SAS变量和列的信息
EXTFILES:外部数据信息
INDEXES:参与索引的列的信息
MACROS:宏相关信息
MEMBERS:所有数据类型(表、视图、目录等)的信息
OPTIONS:当前会话选项
STYLES:ODS的样式信息
TABLES:表和数据集信息
TITLES:标题和脚注信息
VIEWS:视图信息
SAS V9 DICTIONARY所包含的新的表:
CHECK_CONSTRAINTS:CHECK约束信息
CONSTRAINT_COLUMN_USAGE:约束列使用信息
CONSTRAINT_TABLE_USAGE:约束表使用
DICTIONARIES:DICTIONARY所有表及其列
ENGINES:可用的引擎
FORMATS:可用的格式
GOPTIONS:SAS/GRAPH选项
LIBNAMES:LIBNAME信息
REFERENTIAL_CONSTRAINTS:相关约束
REMEMBER:已记录的信息
TABLE_CONSTRAINTS:表约束
2.2 查看2.1中各表内容
查看各表的结构,以查看dictionary.tables为例:
proc sql;
describe table dictionary.tables;
quit;
这里可以从日志里看到表dictionary.tables的结构。
要查看这个表的数据,可以通过以下语句实现,这里我们只输出前10条数据
proc sql outobs=10;
select * from dictionary.tables;
quit;
2.3 使用DICTIONARY的信息
查看SASHELP库里的文件信息:
proc sql;
options nolabel nocenter;
select memname,nobs,nvar,crdate
from dictionary.tables
where libname=’SASHELP’;
quit;
注意,这里的库名都是大写。
查看SASHELP库里有列名为tabname的所有表:
proc sql;
options nolabel nocenter;
select memname
from dictionary.columns
where libname=’SASHELP’ and name=’tabname’;
quit;
注意这里是用dictionary.columns的信息
用SASHELP.VMEMBER来撮DICTIONARY.MEMBERS的信息:
proc tabulate data=sashelp.vmember format=8.;
class libname memtype;
keylabel N=’ ‘;
table libname,memtype/rts=10 misstext=’None’;
run;
DICTIONARY是一个非常有用的信息库,本文主要是介绍一下其基本功能,以后有时间的话会对其进行详细介绍。