京公网安备 11010802034615号
经营许可证编号:京B2-20210330
SAS日志检测
以前跑数据集市时,通常是每天自己批量跑,如果每天查看日志非常麻烦。今天给大家分享一段数据日志的检测代码,可以判断是是哪天出错了。如下图所示:
[xmy_1487668820/2017-05-05-16-06-49-9355.png]
程序如下:
%macro check_main_log(dizhi);
data rizhi_shujuji3;
infile "&dizhi." end=eof length=length;
input jilu $400. length;
run;
/*将错误的记录找出来,进行排列*/
data xiugai3;
set rizhi_shujuji3 end=w;
retain errcount 0;
jilu=left(trim(jilu));
if jilu=:"ERROR:" or jilu=:"WARNING:" or jilu=:"ERROR" or jilu=:"WARNING" then do;
errcount=errcount+1;
call symput("errcount",errcount);
end;
if w then do;
panduan=errcount;
end;
run;
data c3;
set xiugai3;
if panduan~=.;
%let panduan=panduan;
call symput("panduan",panduan);
run;
/*找出错误记录所在的行数*/
data xiugai3;
set xiugai3;
retain errfound 0;
if errcount~='' then errfound=errfound+1;
run;
/*排序记录排列,将错误数据记录保留下来*/
proc sort
data=xiugai3;
by errcount;
run;
%if &panduan.=0 %then %do;
data xggg;
length txtname $400. biaoshi $10. jilu $400.;
format errcount best12. errfound best12. up_data best12.;
errcount=0;
errfound=0;
up_data=&t.;
txtname="&dizhi.";
biaoshi="right";
jilu="运行无错";
label jilu='错误记录' errcount='序列' errfound='错误所在行数' txtname="检测文件名称" biaoshi="标识";
%end;
run;
/*建立一个基础数据集放到逻辑库main*/
data main.warning;
length txtname $400. biaoshi $10. jilu $400.;
format errcount best12. errfound best12. up_data best12.;
txtname="";
up_data="";
biaoshi="";
jilu="";
errcount="";
errfound="";
run;
/*将错误的记录放到main逻辑库*/
proc append
base=main.warning data=xggg force;
quit;
%if &panduan.>1 %then %do;
data xggg;
set xiugai3;
length txtname $400. biaoshi $10. jilu $400.;
format errcount best12. errfound best12. up_data best12.;
by errcount;
txtname="&dizhi";
up_data=&t.;
biaoshi="warning";
if first.errcount;
if errcount~=0;
drop panduan;
label jilu='错误记录' errcount='序列' errfound='错误所在行数' txtname="检测文件名称" biaoshi="标识";
%end;
run;
/*建立一个基础数据集放到逻辑库main*/
data main.warning;
length txtname $400. biaoshi $10. jilu $400.;
format errcount best12. errfound best12. up_data best12.;
txtname="";
up_data="";
biaoshi="";
jilu="";
errcount="";
errfound="";
run;
/*讲错误的记录放到main逻辑库*/
proc append
base=main.warning data=xggg force;
quit;
%mend;
********************以下是调用******************
data time;
format t $8.;
t=compress(year(today())*10000+month(today())*100+day(today()));
call symput('t',t);
run;
/*创建文件夹*/
data _null_;
new = dcreate("&t.","&input.");
new1 = dcreate("结果数据","&input.\&t.");
new2 = dcreate("错误数据集","&input.\&t.");
new3 = dcreate("log","&input.\&t.");
new4 = dcreate("main","&input.\&t.");
run;
%let canshu = &input.\&t.\错误数据集;
%let log = &input.\&t.\log;
%let main = &input.\&t.\main;
/*导出日志*/
DM 'LOG;log; FILE "&log.\main.txt" replace;';
run;
/*清除日志*/
DM 'log; "clear";';
/*创建逻辑库*/
libname canshu "&canshu.";
libname main "&main.";
/*调用检测日志的宏程序*/
%check_main_log(&log.\main.txt);
此程序在批量运行中特别方便,只要查看逻辑库main 里的warning数据集就可知道哪里出错。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
手游行业具备用户迭代快、竞争激烈、用户粘性易流失的典型特征。随着新游持续上线、玩家审美升级、玩法疲劳等问题出现,存量用户 ...
2026-08-14在数字化产品运营、商业数据分析、业务增长管理中,零散的指标统计无法支撑系统性的业务决策。单一的点击率、转化率、销量数据只 ...
2026-08-14 很多数据分析师每天都在写SQL,但当被问到“数据查询语言(DQL)的本质是什么”“SELECT语句中各子句的书写顺序与实际执行顺 ...
2026-08-14在数据库数据分析、数据清洗、报表统计与业务查询场景中,日期时间是最高频、最核心的基础字段。数据库中存储的日期格式多样,包 ...
2026-08-13在数据统计分析与数据清洗工作中,箱线图是一种简洁高效、客观性强的数据可视化图表,能够直观呈现数据集的分布特征、离散程度和 ...
2026-08-13 很多数据分析师写过无数个SELECT查询,但当被问到“如何新建一张表来固化中间数据”“创建视图和创建物理表有什么区别”“视 ...
2026-08-13在自动化办公、数据采集、定时统计、日志清理、系统监控等场景中,程序往往需要按照固定时间间隔重复执行指定任务,这种运行机制 ...
2026-08-12在数据分析日常工作中,Excel数据筛选是数据清洗、数据提取、样本筛选的核心基础操作。传统Excel手动筛选、函数筛选方式,面对多 ...
2026-08-12 很多数据分析师精通Excel函数和数据透视表,但当被问到“数据从哪里来”“表和视图有什么区别”“数据库管理系统和SQL是什么 ...
2026-08-12在数据分析、统计建模、数据挖掘与商业调研过程中,原始数据往往无法做到绝对干净规整。受系统故障、人工录入失误、设备误差、突 ...
2026-08-11在数据分析工作中,聚类分析是典型的无监督学习方法,核心作用是依据数据自身的多维特征,将相似样本自动划分为若干类别,实现“ ...
2026-08-11 很多企业团队并非缺乏指标,而是陷入“指标失控”:仪表盘上堆满实时跳动的数据,却无法回答“当前瓶颈在哪、下一步该做什么 ...
2026-08-11AB实验是互联网产品迭代、营销优化、功能升级的核心科学验证手段,通过流量随机分组、对照组与实验组对比,科学验证策略、功能、 ...
2026-08-10在MySQL数据库优化中,索引是提升查询效率、降低数据库IO开销、优化系统性能的核心手段。普通单列索引仅适配简单查询场景,面对 ...
2026-08-10 很多数据分析师每天盯着几十个指标,但当被问到“这套指标要支撑什么业务目标”“指标之间是什么逻辑关系”“业务变化时如何 ...
2026-08-10在数字化市场调研体系中,大数据与小数据是两类核心调研数据形态,分别对应海量行为统计与精准样本深度调研。行业普遍存在认知误 ...
2026-08-07数据透视表是Excel、WPS中最核心的数据分析工具,凭借快速汇总、分组统计、动态筛选的优势,被广泛应用于销量统计、业绩复盘、数 ...
2026-08-07 很多数据分析师每天盯着GMV、DAU、转化率,但当被问到“哪些指标在所有行业都适用”“哪些指标只对电商有意义”“二者如何搭 ...
2026-08-07在商品销量、市场需求、营收规模等业务数据中,季节性波动是最普遍、最核心的数据特征。零售快消、食品餐饮、家电服饰、电商行业 ...
2026-08-06在流量红利消退、市场竞争白热化的商业环境中,传统依托经验、跟风投放、广撒网式的营销模式,逐渐暴露出成本高、精准度低、转化 ...
2026-08-06