计算机应用
COMPUTER APPLICATIONS
1999年 第19卷 第10期 Vol.19 No.10 1999



SAS在Internet/Intranet上的决策支持应用
关铨光　覃英华
　　摘　要　本文目的是利用SAS／IntrNet在Internet/ Intranet上构造决策支持的Web应用。
　　关键词　SAS,Web应用,决策支持, 交互式，Internet/Intranet
1　问题的提出
　　SAS系统是用于严肃数据分析和决策支持的大型集成式模块化软件包。SAS系统目前由三十多个模块及专用解决方案组成，功能包括数据库及其管理，各类堪称行业标准的数据分析工具（如：应用统计，运筹学，质量控制，大型矩阵计算，及计量经济学与时间序列分析等等）。随着社会的发展，现代企业越来越注重有效地利用大量的历史数据对未来作出正确的决策和计划。而SAS在分析预测上具有几十个专业标准预测模型，可根据用户指定的数据集自动选择最佳的预测模型，并且提供用户建造模型的工具，其分析得到的信息具有高的置信度，因此SAS成为企业理想的辅助决策软件包之一。
　　当前，SAS软件已经成为许多统计工作者的必备的分析工具。他们凭借SAS软件作出许多有用的分析，为企业的决策作出了巨大贡献。但随着Internet/Intanet的发展需要，如何开发在浏览器端让用户（如公司经理 ）实现交互式的决策分析系统往往使他们束手无策，不知如何将先前作出的静态的分析结果转化成交互式地动态生成。他们往往只能定期地将程序重复运行，将分析的结果（如图片和表格）静态地公布，从而使决策分析在时间和费用上增加支出。本文主要针对这一问题，提出利用SAS软件最新发布的中间件SAS-IntrNet AppServer（应用服务器）在浏览器上实现交互式的决策分析应用。
　　本文以广东省长途电信线路障碍的一般统计（总和和平均数）为例说明如何实现在网页上动态生成分析结果。
2　SAS的Web应用技术
　　SAS/IntrNet 为SAS 的Web应用提供数据服务和计算服务。一方面，通过数据服务可以查询数据集并按用户请求返回一定格式的数据；另一方面，通过计算服务可以使用户能在浏览器上对数据进行分析，调用SAS软件的过程和函数功能。下表列出了SAS的几种不同Web应用技术：
　　
服　务名　　称作　　　　用
数据
服务HtmSQL在Browser上动态查询SAS或RDBMS数据。
SAS/SHARE*NET
Driver for JDBC建立JAVA应用程序或applet通过SAS/SHARE*NET进行数据浏览或更新。
计算
服务Application Dispatcher利用该“应用程序发布机”建立Web动态应用，使用户可以通过Web浏览器调用SAS的程序。
　　其中，本文推荐使用Application Dispatcher（应用程序发布机）机制，该机制是在应用服务器端启动SAS IntranetServer，通过一个CGI程序Broker.exe，来接收和解释请求，把请求提交给SAS APPSERVER，由它调用指定的SAS程序来处理请求和返回处理结果给浏览器端。通过这种机制，实现了浏览器端交互式的请求，并通过请求的参数的变化来调用相应的SAS分析功能来使浏览器端的显示结果动态变化。
　　在实际使用过程中，该机制有以下优点：
　　1） 编写和调试程序方便
　　只需用一般的文本编辑器编写*.SAS文件，编写后无须编译即可在浏览器上调用和调试，也就是说只需文本编辑器和浏览器就可以编写和调试SAS程序。
　　2） 运行速度较快
　　采用多层结构，数据获取、数据处理都在中间层的SAS应用服务器上执行，处理完的信息才返回浏览器端，减少了频繁的网络数据传送，提高了前端的响应速度。
　　3） 原有系统移植容易
　　原有的SAS系统程序，无需从新编写，只要增加输出到虚拟―WebOUT，在网页上指定BROKER调用的发布程序，就可动态产生网页。
　　4） 可调用的发布程序包括以下类型：
　　. SAS程序(以.SAS为后缀名的外部文件)
　　. Source文件(catalog.source)
　　. SCL 文件(catalog .scl )
　　. Macro文件(catalog .macro编译过的宏)。
3　Web应用在电信行业的实例
　　下面以广东省长途电信线路障碍统计分析系统（以下简称长线系统）为例，说明如何用应用程序发布机建立SAS决策分析的Web应用。
3.1　系统简介
　　该系统所使用的SAS版本为6.12，SAS/INTRNET模块版本为1.2，主要采用SAS的应用程序发布技术，浏览器为IE、NETSCAPE。
3.2系统功能
　　包括数据获取、数据处理和数据呈现。
　　数据获取：即建立SAS的可操作数据源（ODD），可以建立对应的SAS数据集或只建立与源数据之间的影射关系。长线障碍分析系统从省长途电信线路业务系统中获取数据。
　　数据处理：对可操作数据源进行加工处理，包括数据汇总加工、报表格式变换、变量分析和预测。
　　数据呈现：也就是处理后的知识化信息的呈现(包括图,表等)。
3.3　系统逻辑结构

3.4　功能实现
　　以下是通过SAS的应用程序发布机在浏览器上动态生成报表的一个实例，在浏览器实现对数据表进行列间运算、表间合并、旋转，生成所需要的报表动态地返回到浏览器端。其基本的流程如下:
　　(1) 页面将参数传给并调用broker.exe;
　　(2) broker.exe调用参数中指定的sas程序名称;
　　(3) 指定的Sas程序通过页面参数对特定数据进行分析处理;
　　(4) 指定的Sas程序调用HTML格式宏(如%ds2htm)将要显示的表转换成html格式,并传送浏览器端。
　　鉴于编幅，这里不给出详细的编写过程，只给出页面调用broker.exe的html文本和相应的说明(有兴趣的读者可来信索取):
<FORM ACTION="/cgi-bin/broker.exe">
<p>请输入年份：<INPUT TYPE="TEXT" NAME="year"
VALUE="98" SIZE=1></p>
<P>
请选择月份 ：<SELECT NAME="month">
<OPTION VALUE="1"> 1
<OPTION VALUE="2" SELECTED> 2
...(略)
<OPTION VALUE="11"> 11
<OPTION VALUE="12"> 12
</SELECT>
</P>
<p>
<INPUT TYPE="HIDDEN" NAME="―SERVICE"
VALUE="default">
<INPUT TYPE="HIDDEN" NAME="―PROGRAM"
VALUE="sample.gl.sas">
</p>
<INPUT TYPE="SUBMIT" VALUE="确认">
</FORM>
说明:　 broker.exe包含的主要参数为:
―SERVICE: 指定服务的参数,取值为′default′时表示为系统内定的参数；
―PROGRAM: 指定调用的SAS程序名称
4　结束语
　　以同样方式，结合SAS的其他模块（如ETS,STAT,OR，DATAMINER等）编写的用于预测、钻取或多元回归等复杂的程序，就可以在浏览器上实现动态地获取专业化的分析和预测的结果。
作者简介：关铨光　硕士。主要研究方向：数据库技术、经济信息管理及数理统计。
覃英华　主要从事信息服务系统开发。
作者单位：关铨光　华南理工大学应用数学系　广东.广州(510641)
覃英华　广州泰克计算机软件公司　广东.广州(510665)
参考文献
［1］　SAS Institute Inc. SAS Software Solutions for theTelecommunications Industry. SAS Press,1994
［2］　美国SAS软件研究所上海办事处编. SAS 基础教程. 上海技术文献出版社,1997
收稿日期:1999-04-16
