
深入理解SAS之批量数据导入
当我们在处理『大量的数据』(我偏不说大数据)的时候,如果一个文件一个文件的读入未免太不优雅。然而,如果我们操作的工具仅限于SAS,那无疑是『戴着镣铐跳舞』。SAS的循环那可不是像R那挥之即来的_for-loop_那么简单。
下面,我们就来演示一番如何优雅地舞动SAS这件,实现批量数据载入。
1.准备一份文件名数据集
读取某个文件夹下的文件名,这在R中再简单不过了。直接一个dir()函数搞定。
当然,我们要做的还要稍微复杂一些。我们需要读取原文件名in_name,并提供相应的SAS数据集文件名out_name。然而,我们傲娇的SAS在文件名命名的时候,不像R那么随心所欲。它有着这样那样的规矩。如:文件名不能超过32个字符;文件名内不能含小数点.。很不幸的是,博主要处理的数据恰好含有小数点.。所以,输出文件名不能直接使用原文件名。于是,前面整理的正则表达式知识终于可以派上用场了。
废话不多说,直接上代码。
当然,如果你说一定要用SAS全程搞定,那也不是不可能。这里提供一行SAS暗黑代码。
X "dir F:\Morgage\raw_data\lars__final_year_dat\*.dat/b >F:\Morgage\raw_data\lars__final_year_dat\filename" ;
通过X命令,执行命令提示符语句。首先,通过dir命令切换到F:\Morgage\raw_data\lars__final_year_dat\*.dat;接着,通过管道操作符>把同类型的.dat格式文件的文件名输出到文件夹F:\Morgage\raw_data\lars__final_year_dat\下的filename文件中。
有没有一种Linux命令行的既视感?
2.写一个读入数据的宏
%macro readfile_dat(v_dir,in_name,out_name);
/*?????????????v_dir,???????in_name,????SAS???????out_name*/
%let dir = &v_dir;
%let gsm= &in_name;
%let filename = "&dir&gsm";
libname Mor_dat 'F:\Morgage\sas_data\dat';
data Mor_dat.&out_name;
infile &filename;
input variable ; /*此处省略一万个变量的输入格式*/
run;
%mend readfile_dat;
3.利用数据步实现循环读取数据集
这一步是一个技巧活。这里,读入第一步中创建的数据集,并将每一行得到的变量值作为参数传给第二步中读取我们所需要处理的数据集的宏。
data _null_;
length in_name $ 19 out_name $ 15;
infile "F:\Morgage\raw_data\DAT_FileNameList.csv" dsd delimiter=' ';
input in_name $ out_name $ ;
call execute(compress('%readfile_dat(F:\Morgage\raw_data\lars__final_year_dat\,'||in_name||','||out_name||')'));
run;
最后,可以用proc print过程检查一下读取是否正确。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
破解游戏用户流失困局:从数据洞察到留存策略 在游戏行业竞争白热化的当下,用户流失率已成为衡量产品健康度的核心指标。一款游 ...
2025-08-11PyTorch 中 Shuffle 机制:数据打乱的艺术与实践 在深度学习模型训练过程中,数据的呈现顺序往往对模型性能有着微妙却关键的影响 ...
2025-08-11数据时代的黄金入场券:CDA 认证解锁职业新蓝海 一、万亿级市场需求下的数据分析人才缺口 在数字化转型浪潮中,数据已成为企业核 ...
2025-08-11DBeaver 实战:实现两个库表结构同步的高效路径 在数据库管理与开发工作中,保持不同环境(如开发库与生产库、主库与从库)的表 ...
2025-08-08t 检验与卡方检验:数据分析中的两大统计利器 在数据分析领域,统计检验是验证假设、挖掘数据规律的重要手段。其中,t 检验和卡 ...
2025-08-08CDA 数据分析师:解锁数据价值的专业力量 在当今这个数据爆炸的时代,数据已成为像石油一样珍贵的战略资源。而 CDA 数据分析师, ...
2025-08-08人工智能对CDA数据分析领域的影响 人工智能对 CDA(Certified Data Analyst,注册数据分析师)数据分析领域的影响是全方位、多层 ...
2025-08-07SPSS 语法使用详解 在当今数据驱动的时代,SPSS( Statistical Package for the Social Sciences)作为一款功能强大的统计分析软 ...
2025-08-07SASEM 决策树:理论与实践应用 在复杂的决策场景中,如何从海量数据中提取有效信息并制定科学决策,是各界关注的焦点。SASEM 决 ...
2025-08-07CDA含金量分析 在数字经济与人工智能深度融合的时代,数据驱动决策已成为企业核心竞争力的关键要素。CDA(Certified Data Analys ...
2025-08-07大数据时代对定性分析的影响 在大数据时代,海量、多样、高速且低价值密度的数据充斥着我们的生活与工作。而定性分析作为一 ...
2025-08-07K-S 曲线、回归与分类:数据分析中的重要工具 在数据分析与机器学习领域,K-S 曲线、回归和分类是三个核心概念与工具,它们各 ...
2025-08-07CDA 数据分析师考试全解析 在当今数字化时代,数据已成为企业发展的核心驱动力,数据分析师这一职业也愈发受到重视。CDA 数据分 ...
2025-08-07大数据时代的隐患:繁荣背后的隐忧 当我们在电商平台浏览商品时,系统总能 “精准” 推送心仪的物品;当我们刷短视频时,算法 ...
2025-08-07解析 F 边界检验:协整分析中的实用工具 在计量经济学的时间序列分析中,判断变量之间是否存在长期稳定的均衡关系(即协整关系) ...
2025-08-07CDA 数据分析师报考条件详解:迈向专业认证的指南 在数据分析行业蓬勃发展的当下,CDA 数据分析师认证成为众多从业者提升专业 ...
2025-08-07通过 COX 回归模型诊断异常值 一、COX 回归模型概述 COX 回归模型,又称比例风险回归模型,是一种用于生存分析的统计方法。它能 ...
2025-08-07评判两组数据与初始数据准确值的方法 在数据分析与研究中,我们常常会面临这样的情况:需要对通过不同方法、不同过程得到的两组 ...
2025-08-07CDA 数据分析师行业标准:构建数据人才的能力坐标系 在数据驱动决策成为企业核心竞争力的时代,CDA(数据分析师)行业标准作为 ...
2025-08-07反向传播神经网络:突破传统算法瓶颈的革命性力量 在人工智能发展的历史长河中,传统算法曾长期主导着数据处理与模式识别领域 ...
2025-08-07