全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
2651 0
2021-08-08

部分内容来源于:enter link desc ription here

提取数据集及变量信息

一、关于dictionary.tables与sashelp.vtable及dictionary.columns与sashelp.vcolumn之间的联系

表名 包含信息 视图名
DICTIONARY.CATALOGS SAS目录册及所包含的条目 SASHELP.VCATALG
DICTIONARY.COLUMNS 列(或变量)及其特征 SASHELP.VCOLUMN
DICTIONARY.DICTIONARIES 所有表词典 SASHELP.VDCTNRY
DICTIONARY.EXTFILES 文件标识名和外部文件物理存储地址 SASHELP.VEXTFL
DICTIONARY.INDEXES SAS数据集索引 SASHELP.VINDEX
DICTIONARY.MEMBERS SAS数据集 SASHELP.VMEMBER
DICTIONARY.OPTIONS 目前设定的SAS系统选项 SASHELP.VOPTION
DICTIONARY.STYLES ODS类型 SASHELP.VSTYLE
DICTIONARY.TABLES SAS数据文件和视图 SASHELP.VTABLE
DICTIONARY.VIEWS SAS数据视图 SASHELP.VVIEW
  • 1、数据字典把当前SAS环境中的所有内容进行汇总归类到这个里面,方便检索;
  • 2、注意里面的libname(即library name)和menname(member name)要大写;
  • 3、dictionary.tables中的数据集在sas中都有对应的视图,最常用的是:
      dictonary.tables————sashelp.vtable:存储的是数据集;
      dictionary.columns————sashelp.vcolumn:存储的是变量。

二、使用sql访问数据字典以提取数据集及变量信息

1、取出数据集的变量数和观测数
proc sql;  
select nobs,nvar  
into:nobs,:nvar  
from dictionary.tables  
where libname="WORK" and memname="TEST";  
quit;

2、取出某一数据集的所有变量名

proc sql;  
select name into :varlist  
separated by " "  
from dictionary.columns  
where libname="WORK" and memname="TEST";  
quit;  
%put &varlist.;  

三、取出某个library下所有数据集名

proc sql;  
select memname into :dsname  
separated by " "  
from dictionary.tables  
where libname="WORK";  
quit;  

四、取出所有的宏变量名

proc sql noprint;  
create table macv as  
select name  
from dictionary.macros  
where offset=0 and scope="GLOBAL";  
quit;  
/*效果同 %put _global_*/
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群