带你读《SAS数据分析开发之道 软件质量的维度》第三章通信交流3.2系统数字返回码(六)

简介: 带你读《SAS数据分析开发之道 软件质量的维度》第三章通信交流3.2系统数字返回码

&SYSRC

&SYSRC自动宏变量能够记录与OS 运行环境直接进行互动的程序指令的状态,如X、SYSEXEC、SYSTASKWAITFOR。尽管本书中未详细介绍, 但 &SYSRC在这些程序指令成功完成之后会显示一个0值。由于&SYSRC在后续XSYSEXECSYSTASK 或类似程序指令运行之前不能进行重置,而且该宏变量是可读写的,因此,在评估之前需要手动重置该变量的值,这一点与 &SYSCC的初始化类似。

以下内容说明的是Windows运行环境中 X 程序指令获得初步成功,该指令的目是将当前文件夹的内容输入到文本文件Dir.txt,随后是一个因DOS命令DIR错误拼写为“DIRT”而造成的故障:

%letsysrc=0;

%letsyscc=0;data_null_;

x"dir>dir.txt";run;

 

NOTE:DATAstatementused(Totalprocesstime):realtime   1.66seconds

cputime               0.07seconds


%putSYSRC:&sysrc;SYSRC:0

%putSYSCC:&syscc;

SYSCC:0

data_null_;

x"dirt>dir.txt"

!;

run;

 

NOTE:DATAstatementused(Totalprocesstime):realtime   0.77seconds

cputime               0.07seconds

 

%putSYSRC:&sysrc;SYSRC:9009

%putSYSCC:&syscc;

SYSCC:0

 

&SYSCC返回码不受 &SYSRC值的影响,因此,必须通过评估 &SYSRC处理这些程序指令中的异常情况。&SYSRC宏变量在第 12 章“自动化”的“批量异常情况处理”部分讲述,它用于异常情况处理框架中显示 SYSTASK 程序指令的顺利运行。

 

SYSRC()

不要将SYSRC() 函数与&SYSRC自动宏变量混淆,它返回的是最近运行的输入/输出I/O函数的完成状态。由于 I/O函数通常是在%SYSFUNC宏函数中执行的,因此SYSRC() 值可被保存为一个宏变量,并且可用于驱动异常情况处理的程序流。

以下代码及输出信息显示的是 Final数据集中变量的数量 :

%letdsid=%sysfunc(open(perm.final,i));

%letvars=%sysfunc(attrn(&dsid,nvars));

%letclose=%sysfunc(close(&dsid));

 

%putVARS:&vars;VARS:1


然而,由于 OPEN函数需要 PERM.Final 数据集的共享锁定,因此,如果某个独立的用户或 SAS 会话独自锁定该数据集,该代码便会出现故障 :

%letdsid=%sysfunc(open(perm.final,i));

%letvars=%sysfunc(attrn(&dsid,nvars));

WARNING:Argument1tofunctionATTRNreferencedbythe%SYSFUNCor%QSYSFUNCmacrofunctionisoutofrange.

NOTE:Mathematicaloperationscouldnotbeperformedduring%SYSFUNCfunctionexecution.Theresultoftheoperationshavebeensettoamissingvalue.

%letclose=%sysfunc(close(&dsid));

 

%putVARS:&vars;VARS:

OPEN发生故障,&DSID便不会被赋值, 因此,ATTRN函数随后也会发生故障。补救措施是在执行类似 ATTRNCLOSE等后续相关动作之前,使用SYSRC函数测试I/O函数的返回码OPEN相似,由于I/O函数正常运行时返回的是“0,因此,以下代码仅在OPEN顺利运行的前提下执行ATTRN

%macrotest;

%letdsid=%sysfunc(open(perm.final,i));

%if%sysfunc(sysrc())=0%then%do;

%letvars=%sysfunc(attrn(&dsid,nvars));

%letclose=%sysfunc(close(&dsid));

%end;

%else%letvars=FAILURE;

%putVARS:&vars;

%mend; 

%test;

实现类似程序控制的另一个方法是在OPEN函数之后立即测试&DSID,如果值“0(表示打开该数据集出现故障,则终止该过程。

相关文章
|
2月前
|
数据采集 机器学习/深度学习 数据可视化
构建高效数据分析系统的关键技术
【10月更文挑战第5天】构建高效数据分析系统的关键技术
55 0
|
9天前
|
运维 监控 安全
公司监控软件:SAS 数据分析引擎驱动网络异常精准检测
在数字化商业环境中,企业网络系统面临复杂威胁。SAS 数据分析引擎凭借高效处理能力,成为网络异常检测的关键技术。通过统计分析、时间序列分析等方法,SAS 帮助企业及时发现并处理异常流量,确保网络安全和业务连续性。
31 11
|
4月前
|
机器学习/深度学习 数据采集 数据可视化
基于爬虫和机器学习的招聘数据分析与可视化系统,python django框架,前端bootstrap,机器学习有八种带有可视化大屏和后台
本文介绍了一个基于Python Django框架和Bootstrap前端技术,集成了机器学习算法和数据可视化的招聘数据分析与可视化系统,该系统通过爬虫技术获取职位信息,并使用多种机器学习模型进行薪资预测、职位匹配和趋势分析,提供了一个直观的可视化大屏和后台管理系统,以优化招聘策略并提升决策质量。
232 4
|
4月前
|
数据采集 机器学习/深度学习 数据可视化
【优秀python web系统毕设】基于python的全国招聘数据分析可视化系统,包括随机森林算法
本文介绍了一个基于Python的全国招聘数据分析可视化系统,该系统利用数据挖掘技术、随机森林算法和数据可视化技术,从招聘网站抓取数据,进行处理、分析和预测,帮助用户洞察招聘市场,为求职者和企业提供决策支持。
212 2
|
4月前
|
数据采集 存储 监控
数据驱动开发:如何将数据分析融入开发流程
【8月更文挑战第14天】数据驱动开发是一种高效、智能的软件开发方法论,它通过将数据分析深度融入开发流程中,实现了精准决策、提升效率和持续改进的目标。为了成功实施数据驱动开发,团队需要明确数据需求、设计合理的数据架构、集成数据收集工具、实施CI/CD流程、进行数据分析与决策支持以及建立反馈循环机制。同时,还需要应对数据质量、技术和组织与文化等挑战。通过不断努力和实践,团队可以逐步建立起完善的数据驱动开发体系,推动产品不断迭代升级和业务持续增长。
|
4月前
|
存储 数据可视化 大数据
基于Python Django的大数据招聘数据分析系统,包括数据大屏和后台管理
本文介绍了一个基于Python Django框架开发的大数据招聘数据分析系统,该系统具备后台管理功能和数据大屏展示,利用大数据技术收集和分析招聘市场趋势,帮助企业和招聘机构提高招聘效率和质量。
169 3
|
4月前
|
数据可视化 安全 前端开发
基于Django的美团药品数据分析与可视化系统,有多用户功能,可增删改查数据
本文介绍了一个基于Django框架开发的美团药品数据分析与可视化系统,该系统具备多用户功能,支持数据的增删改查操作,并采用MySQL、pandas、echarts和bootstrap技术栈,为用户提供了一个高效、安全且实用的药品数据管理和分析平台。
基于Django的美团药品数据分析与可视化系统,有多用户功能,可增删改查数据
|
4月前
|
数据采集 数据可视化 数据挖掘
基于Django的数据分析可视化系统,有后台,有增删改查,实现多用户登录
本文介绍了一个基于Django框架开发的今日头条数据分析可视化系统,该系统具备后台管理、增删改查功能以及多用户登录,利用数据可视化技术为新闻媒体行业提供数据管理和决策支持。
基于Django的数据分析可视化系统,有后台,有增删改查,实现多用户登录
|
4月前
|
前端开发 Java JSON
Struts 2携手AngularJS与React:探索企业级后端与现代前端框架的完美融合之道
【8月更文挑战第31天】随着Web应用复杂性的提升,前端技术日新月异。AngularJS和React作为主流前端框架,凭借强大的数据绑定和组件化能力,显著提升了开发动态及交互式Web应用的效率。同时,Struts 2 以其出色的性能和丰富的功能,成为众多Java开发者构建企业级应用的首选后端框架。本文探讨了如何将 Struts 2 与 AngularJS 和 React 整合,以充分发挥前后端各自优势,构建更强大、灵活的 Web 应用。
65 0
|
4月前
|
SQL 数据采集 算法
【电商数据分析利器】SQL实战项目大揭秘:手把手教你构建用户行为分析系统,从数据建模到精准营销的全方位指南!
【8月更文挑战第31天】随着电商行业的快速发展,用户行为分析的重要性日益凸显。本实战项目将指导你使用 SQL 构建电商平台用户行为分析系统,涵盖数据建模、采集、处理与分析等环节。文章详细介绍了数据库设计、测试数据插入及多种行为分析方法,如购买频次统计、商品销售排名、用户活跃时间段分析和留存率计算,帮助电商企业深入了解用户行为并优化业务策略。通过这些步骤,你将掌握利用 SQL 进行大数据分析的关键技术。
252 0