一.定义
DICTIONARY表是一类只读的SAS表单,其中包含有关当前SAS会话中正在使用或可用的SAS库、SAS数据集、SAS宏和外部文件的信息。DICTIONARY表还包含当前有效的SAS系统选项的设置。
访问DICTIONARY表时,SAS确定SAS会话的当前状态,并相应地返回所需的信息。每次访问DICTIONARY表时都会执行此过程,以便始终拥有当前信息。
SAS程序可以通过以下两种方法访问DICTIONARY表:
l 使用PROC SQL访问Dictionary table。
l 使用PROC步或DATA步直接访问SASHELP逻辑库下的相应SAS view。
二. DICTIONARY Table和SASHELP View的名称和用途
DICTIONARY Table实际上涵盖了SAS会话的每个方面。下面的表列举了DICTIONARY Table和等效SASHELP View的名称和用途。
三.常见应用
1. DICTIONARY.Tables
DICTIONARY.Tables表单包含了所有的数据集的信息。通过逻辑库名与数据集名定位到希望查询的数据集,可以获得此数据集的类型、创建日期、观测值数、变量数等信息。
示例:查询sashelp逻辑库下iris数据集的变量数与观测数。
结果:
2. DICTIONARY.Columns
DICTIONARY.Columns包含所有数据集的所有变量的信息。通过逻辑库名与数据集名定位到希望查询的数据集,可以获得此数据集的变量名,变量类型,变量长度,变量标签等相关信息。
示例:获得sashelp逻辑库下iris数据集的所有变量名。
结果:
3. DICTIONARY.MEMBERS
DICTIONARY.MEMBERS表单包含了逻辑库名称、数据文件类型(数据集、视图或者目录)、路径等信息。
示例:将逻辑库TEST中数据集的名称和路径列示出来。
结果:
四.总结
在SAS环境中,运用Dictionary Tables可以有效的提取丰富的元数据信息。DICTIONARY tables 常用于监视和管理 SAS sessions,不过由于其只读的特性,所以只能对其查询,而不能进行增、删、改操作。