
SAS使用有哪些技巧
如何从一批SCL,SOURCE文件中查找或替换某字符串
曾经刚做数据分析师时会遇到这些问题,不知你是否有这样的麻烦,你在好几个CATALOG下建了上百个SCL或SOURCE文件,突然有一天因为系统变化,必须改动程序,比如有某个特征被大量程序引用了,那你必须一个一个的打开SCL文件,然后查找,然后在替换,想必你在那时肯定痛恨SAS公司的破编辑器了,功能弱智的像微软的记事本一样,如果你不幸不知道这样的技巧,那只能老老实实一个一个的打开,查找,替换、编译、保存、另存,然后在打开另一个文件,如此周而复此
呵,不过幸运的是你看到了这篇文章,从此就可以中气十足的对BOSS说,我绝对把那改动全部该过来了,没问题
好了,不唠叨了,言归正传吧
不知道你有没有用过大名鼎鼎的编辑器ULTRAEDIT呢,相信很多写CODE的人都在用它吧,确实很强的一个编辑器,今天我就用这编辑器中的一个小小功能,那就是查找、替换功能,它可是能在N多文件里做查找替换,我试了,打开上百个文件速度还是不错的,且操作非常方便
好了,知道有这个功能就行了,下面的问题是怎么才能把SAS CATALOG里的程序文件导出来呢?且听我慢慢说来
首先,我们知道,SAS提供了很多快捷的命令直接操作,比如
在命令窗口敲入一个【open 表名】,就可以打开一个表,而不用用鼠标去找这个表名,然后双击
要实现把CATALOG下的程序文件导出,导入 我们必须知道这些命令,如下
build scl文件 /*打开一个SCL文件*/
clear /*清除当前窗口内容*/
file “文件名” /*存盘当前窗口内容到文件*/
include “文件名” /*把指定文件的内容导入当前窗口*/
compile /*编译当前程序*/
save/*存盘当前窗口内容*/
saveclass/*存盘为类*/
end/*关闭当前窗口*/
cancel/*取消当前窗口所作的改动*/
还必须知道这样一个SAS系统视图,里面存放的是SAS的一下文件信息,比如CATALOG下有哪些什么文件啊,是什么样的类型啊,如下
系统视图sashelp.vcatalg
主要字段:
libname 库名,就是CATALOG的名字
memname 目录名
objtype 成员类型,比如SCL
objname 对象名,就是CATALOG下的文件拉
好了,知道这些就可以把你想要的文件导出来了,下面就是源代码了
/*导出*/
%let dir=g:\src\;/*要导出到哪个目录*/
data _null_;
set sashelp.vcatalg;
where libname =“要导出那个库” and memname in (要导出哪些目录) and objtype=“要导出什么类型的文件,比如SCL”;
length filename filename1 200str2000;
filename=compress(”&dir”|| memname || “\” || objname || “.scl”);
filename1=compress(libname ||”.”|| memname || “.” || objname || “.scl”);
str= “dm ”“” || “build ”|| trim(filename1) || “;file” || “'” || trim(filename) || “'”|| ”;end;”|| “”“;”;
put str;
run;
OK,现在运行上面的程序,会输出如下结果
dm “build ***.scl;file'g:\src\***.scl';end;”;
dm “build ***.scl;file'g:\src\***.scl';end;”;
然后把输出结果拷贝出来,然后粘贴到命令窗口,运行,然后你就会看到窗口闪啊闪啊,如果文件很多的化会闪一会儿的,耐心一点
运行完了把,然后去你导出的那个目录看吧,是不是生成了很多SCL文件
咔咔,第一步大功告成
第二步当然是第导出的文件进行操作了,你想干什么就干什么把,如此强大的ultraedit,批查询、替换简直就是A piece of cake.
好了,假定你所有的改动都该好了,当然是要怎么把改动的结果写入SAS的CATALOG了,很简单,就是把上面的输出结果改把改把,然后再在SAS命令窗口运行就会把所有改动自动写入SAS的CATALOG了,如下
/*导入*/数据分析师培训
dm “build ***.scl;clear;include '***.scl';save;compile;saveclass;end;”
看看,连complie,saveclass都给你做了
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
CDA 数据分析师:开启数据职业发展新征程 在数据成为核心生产要素的今天,数据分析师的职业价值愈发凸显。CDA(Certified D ...
2025-07-03从招聘要求看数据分析师的能力素养与职业发展 在数字化浪潮席卷全球的当下,数据已成为企业的核心资产,数据分析师岗位也随 ...
2025-07-03Power BI 中如何控制过滤器选择项目数并在超限时报错 引言 在使用 Power BI 进行数据可视化和分析的过程中,对过滤器的有 ...
2025-07-03把握 CDA 考试时间,开启数据分析职业之路 在数字化转型的时代浪潮下,数据已成为企业决策的核心驱动力。CDA(Certified Da ...
2025-07-02CDA 证书:银行招聘中的 “黄金通行证” 在金融科技飞速发展的当下,银行正加速向数字化、智能化转型,海量数据成为银行精准 ...
2025-07-02探索最优回归方程:数据背后的精准预测密码 在数据分析和统计学的广阔领域中,回归分析是揭示变量之间关系的重要工具,而回 ...
2025-07-02CDA 数据分析师报考条件全解析:开启数据洞察之旅 在当今数字化浪潮席卷全球的时代,数据已成为企业乃至整个社会发展的核心驱 ...
2025-07-01深入解析 SQL 中 CASE 语句条件的执行顺序 在 SQL 编程领域,CASE语句是实现条件逻辑判断、数据转换与分类的重要工 ...
2025-07-01SPSS 中计算三个变量交集的详细指南 在数据分析领域,挖掘变量之间的潜在关系是获取有价值信息的关键步骤。当我们需要探究 ...
2025-07-01CDA 数据分析师:就业前景广阔的新兴职业 在当今数字化时代,数据已成为企业和组织决策的重要依据。数据分析师作为负责收集 ...
2025-06-30探秘卷积层:为何一个卷积层需要两个卷积核 在深度学习的世界里,卷积神经网络(CNN)凭借其强大的特征提取能力 ...
2025-06-30探索 CDA 数据分析师在线课程:开启数据洞察之旅 在数字化浪潮席卷全球的当下,数据已成为企业决策、创新与发展的核心驱 ...
2025-06-303D VLA新范式!CVPR冠军方案BridgeVLA,真机性能提升32% 编辑:LRST 【新智元导读】中科院自动化所提出BridgeVLA模型,通过将 ...
2025-06-30LSTM 为何会产生误差?深入剖析其背后的原因 在深度学习领域,LSTM(Long Short-Term Memory)网络凭借其独特的记忆单元设 ...
2025-06-27LLM进入拖拽时代!只靠Prompt几秒定制大模型,效率飙升12000倍 【新智元导读】最近,来自NUS、UT Austin等机构的研究人员创新 ...
2025-06-27探秘 z-score:数据分析中的标准化利器 在数据的海洋中,面对形态各异、尺度不同的数据,如何找到一个通用的标准来衡量数据 ...
2025-06-26Excel 中为不同柱形设置独立背景(按数据分区)的方法详解 在数据分析与可视化呈现过程中,Excel 柱形图是展示数据的常用工 ...
2025-06-26CDA 数据分析师会被 AI 取代吗? 在当今数字化时代,数据的重要性日益凸显,数据分析师成为了众多企业不可或缺的角色 ...
2025-06-26CDA 数据分析师证书考取全攻略 在数字化浪潮汹涌的当下,数据已成为企业乃至整个社会发展的核心驱动力。数据分析师作 ...
2025-06-25人工智能在数据分析的应用场景 在数字化浪潮席卷全球的当下,数据以前所未有的速度增长,传统的数据分析方法逐渐难以满足海 ...
2025-06-25