SAS命令应用高级技巧-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

SAS软件培训

>>

SAS命令应用高级技巧

SAS命令应用高级技巧

发布:hostingca | 分类:SAS软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

获取电子版《CDA一级教材》

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

完整电子版已上线CDA网校,累计已有10万+在读~ 教材严格按考试大纲编写,适合CDA考生备考,也适合业务及数据分析岗位的从业者提升自我。

SAS命令应用高级技巧SAS命令应用高级技巧--如何从一批SCL,SOURCE文件中查找或替换某字符串vL0 ...
免费学术公开课,扫码加入


SAS命令应用高级技巧

SAS命令应用高级技巧--如何从一批SCL,SOURCE文件中查找或替换某字符串 vL0 $a&
你是否有这样的麻烦,你在好几个CATALOG下建了上百个SCL或SOURCE文件,突然有一天因为系统变化,必须改动程序,比如有某个特征被大量程序引用了,那你必须一个一个的打开SCL文件,然后查找,然后在替换,想必你在那时肯定痛恨SAS公司的破编辑器了,功能弱智的像微软的记事本一样,如果你不幸不知道这样的技巧,那只能老老实实一个一个的打开,查找,替换、编译、保存、另存,然后在打开另一个文件,如此周而复此 Jw\11-+D)x
5nb;pB
呵,不过幸运的是你看到了这篇文章,从此就可以中气十足的对BOSS说,我绝对把那改动全部该过来了,没问题 (n9h
?1`JjY`"Ws
好了,不唠叨了,言归正传吧 <hy ^;kx
gY4M<#6?ZE
不知道你有没有用过大名鼎鼎的编辑器ULTRAEDIT呢,相信很多写CODE的人都在用它吧,确实很强的一个编辑器,今天我就用这编辑器中的一个小小功能,那就是查找、替换功能,它可是能在N多文件里做查找替换,我试了,打开上百个文件速度还是不错的,且操作非常方便 $H,TGf
*X.X]o8N
好了,知道有这个功能就行了,下面的问题是怎么才能把SAS CATALOG里的程序文件导出来呢?且听我慢慢说来 Dz1-j)o
\ $/L 0\
首先,我们知道,SAS提供了很多快捷的命令直接操作,比如 dMjL#H}
?\(b.B34
在命令窗口敲入一个【open 表名】,就可以打开一个表,而不用用鼠标去找这个表名,然后双击 P}0`o$E
5M4[/Qp
要实现把CATALOG下的程序文件导出,导入 我们必须知道这些命令,如下 t {fVTbW4
build scl文件 /*打开一个SCL文件*/ ~SdN |iQ
clear /*清除当前窗口内容*/ PeJ NlV
file "文件名" /*存盘当前窗口内容到文件*/ YfySI5Yw
include "文件名" /*把指定文件的内容导入当前窗口*/ W-ldZ$h
compile /*编译当前程序*/ `f(K1M6
save/*存盘当前窗口内容*/ }uW1mG:L
saveclass/*存盘为类*/ k'+QUct+?4
end/*关闭当前窗口*/ |FJF':X%
cancel/*取消当前窗口所作的改动*/ {?LC^^#)
,VX,x__m@h
还必须知道这样一个SAS系统视图,里面存放的是SAS的一下文件信息,比如CATALOG下有哪些什么文件啊,是什么样的类型啊,如下 U[kW'jw
系统视图sashelp.vcatalg R">^eso
主要字段: ,8DU1qox
libname 库名,就是CATALOG的名字 2[ldx;
memname 目录名 g**)q
objtype 成员类型,比如SCL r0FCV3+
objname 对象名,就是CATALOG下的文件拉 O*H%shT4!
好了,知道这些就可以把你想要的文件导出来了,下面就是源代码了 I yT} [
/*导出*/ l$!NWI
%let dir=g:\src\;/*要导出到哪个目录*/ *$4SR?
data _null_; O>/1Vz[7
set sashelp.vcatalg; @p/R-Jf=vP
where libname ="要导出那个库" and memname in (要导出哪些目录) and objtype="要导出什么类型的文件,比如SCL"; /tM(%r~+
length filename filename1 $200 str $2000; *#6%j`bm
filename=compress("&dir"|| memname || "\" || objname || ".scl"); $iN*Il#qE
filename1=compress(libname ||"."|| memname || "." || objname || ".scl"); LjA(
str= "dm """ || "build "|| trim(filename1) || ";file" || "'" || trim(filename) || "'"|| ";end;"|| """;"; Z$?0;
put str; t%g'u\
run; L&fa~ , P
OK,现在运行上面的程序,会输出如下结果 'N*M.aq
dm "build ***.scl;file'g:\src\***.scl';end;"; '^$ Y*V
dm "build ***.scl;file'g:\src\***.scl';end;"; I(5YRG
.... (0}fYJ|5
然后把输出结果拷贝出来,然后粘贴到命令窗口,运行,然后你就会看到窗口闪啊闪啊,如果文件很多的化会闪一会儿的,耐心一点 2ZTp"8"F+
运行完了把,然后去你导出的那个目录看吧,是不是生成了很多SCL文件 /CJ8
咔咔,第一步大功告成 =QpOU
z_Yvh(HJm
第二步当然是第导出的文件进行操作了,你想干什么就干什么把,如此强大的ultraedit,批查询、替换简直就是A piece of cake. !G>/9t5s
好了,假定你所有的改动都该好了,当然是要怎么把改动的结果写入SAS的CATALOG了,很简单,就是把上面的输出结果改把改把,然后再在SAS命令窗口运行就会把所有改动自动写入SAS的CATALOG了,如下 -K<=h[k
/*导入*/ !Z A0+
dm "build ***.scl;clear;include '***.scl';save;compile;saveclass;end;" ^a[0lLzR2
'{Q*aNCo
看看,连complie,saveclass都给你做了,满足了把 @7D(x5~$
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-139940-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
数据分析师 人大经济论坛 大学 专业 手机版
联系客服
值班时间:工作日(9:00--18:00)