SAS中文论坛
标题:
利用SAS系统数据视图进行批量操作
[打印本页]
作者:
shiyiming
时间:
2011-8-27 22:32
标题:
利用SAS系统数据视图进行批量操作
From hssnow's blog on hssnow.name
一些实际问题中,我们需要对某些数据集、某些变量等进行批量的操作和处理。对其中的某些问题,利用逻辑库sashelp下的一些系统数据视图(sashelp.vcolumn、sashelp.vmember、sashelp.vindex、sashelp.vtable等)可以较为方便的处理。 本文利用SAS系统数据视图进行批量操作进行简单的说明。 1.利用sashelp.vcolumn数据视图 ashelp.vcolumn中包含了所有的逻辑库名、数据集名、变量名等等,如下图: 如这里,网友问,对某些数据集data1...datan进行set连接,需要处理不同数据集中相同变量的字符长度不同的问题。 对于该问题,可以利用读取sashelp.vcolumn数据视图,将要set的数据集“DATA%”找出来,连接libname和memname并建立为宏变量data_set表示set语句中的数据集;读取sashelp.vcolumn数据集,取出每个变量的最大长度作为新数据集中变量的长度,进而解决。代码如下: ?View Code SAS1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 %macro m_set; proc sql noprint; create table hs.vcolumn as select libname,memname,name,length from sashelp.vcolumn where memname like 'DATA%' order by memname,name,length; create table hs.temp as select name,max(length) [...]
欢迎光临 SAS中文论坛 (http://mysas.net/forum/)
Powered by Discuz! X3.2