SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 694|回复: 0
打印 上一主题 下一主题

利用SAS系统数据视图进行批量操作

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-8-27 22:32:28 | 只看该作者

利用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) [...]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-6-10 01:50 , Processed in 0.116282 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表