云南个旧大屯锡矿-用excel服务器实现生产统计报表管理信息系统
[摘 要] 本文介绍应用Excel服务器管理软件设计矿山生产统计报表管理信息系统的实现方法,并通过介绍其中一套关联模板来阐明系统设计的基本思路和技巧。
[关键词]信息化、生产统计报表、Excel服务器
一、引言
随着松矿信息化建设步伐不断加快,局部网覆盖面已经延伸到了各坑口、股室、工区,但在生产统计报表的业务流程上,目前仍处于各计算机独立工作,统计报表繁琐。统计日、月、季度、年度等报表需要大量的人力和时间来处理数据,数据采集较难,报表统计时间不及时,复制粘贴容易出错,查询工作量很大。Excel服务器(BC Excel Server 2008)是一个面向最终用户的管理软件、系统设计工具与运行平台,她将电子表格软件 Microsoft Office Excel和大型数据库管理系统MS SQL Server集成为一个网络数据业务协同工作环境。在这个平台上,用户可以充分发挥Excel的应用水平,通过设计模板、定义工作流、定义表间公式等简易直观的操作,实现管理意图,轻松、快速构建能够适应变化的管理信息系统。
二、系统设计基本思路
2.1安装与配置
安装Excel服务器软件时,需要选定网络中的一台计算机安装服务端程序和数据库,在服务器上需要安装Microsoft Office Excel和数据库。目前Excel服务器支持的数据库产品是MS SQL Server2000、MSDE2000、MS SQL Server 2005、MS SQL Server 2008。客户端只需要安装Microsoft Office Excel和客户端安装包。服务端的基础配置十分简单,进入管理控制台根据向导即可配置完成。客户端不需要任何配置,只要在登录服务器处输入服务端IP地址(或计算机名)即可。图一为服务器控制台的基本配置,其中包括以下几个部分:
权限管理类工作:设置部门、角色、用户。
建立规范类工作:定义自动产生编号的规则,建立下拉列表、树型选择及列表选择等。
系统管理类工作:备份/恢复数据库,建立与其它应用系统(如财务软件、ERP系统等)的数据库的集成,查看系统日志,监控与管理用户的连接等。
(图一)
2.2理解统计报表在Excel服务器中实现统计汇总的过程
建立一个信息系统所要完成的四个方面:建立部门、角色、用户等基本信息;建立基础数据;管理业务数据;完成统计、汇总、查询。在本系统中主要建立了涉及生产统计报表的部门、用户,并分别给各用户赋予相应的填报员、一级汇总、二级汇总、矿领导四种角色。应用树型选择功能来建立填报单位的下拉选择列表。图二为一份统计报表实现填报、汇总分析的基本过程。
(图二)
2.3理解业务流程、各模版的数据来源以及模版间的关联
松矿的生产统计业务目前主要以探矿、采矿、运输、生产计划、劳动出勤五个部分展开,其主要流程为:工区或股室(部分原始数据)、股室(部分原始数据)、坑口(工区、本坑口分类统计汇总)、矿部(各坑口、松树脚分矿、大屯锡矿、全矿分类统计汇总)逐级上报分类统计汇总,并最后形成报表。图三为松矿统计业务的各类报表名称、数据来源、表间关联及报表周期。
(图三)
2.4模板设计
用Excel服务器构建的生产统计报表管理信息系统,是由一个个的模板组成。构建系统的过程,就是制作“模板”的过程。模板就是一个空白的表样。依照模板填充了具体的数据之后的表格,称为“表单”。简单点讲,模版=表样+填写规定,填写规定正是Excel服务器的魅力所在,她包括数据项定义、数据规范、工作流、表间公式等。本文主要分析图三中类型为“探矿”的4张报表从基础数据表到分类汇总表的数据提取过程。下面逐一介绍。
2.4.1坑道进尺验收月报表:定义主表,单位名称、日期为单一数据项。单位名称填写规范选择自定义的填报单位形成下拉列表。在模板打印区域外定义一项“模板主键”的单一数据项,用YEAR(I2)&MONTH(I2)&D2函数连接单位和日期并将其设置为该模板主键,然后隐藏该列,这是设计该模板的一个技巧,其目的是每月只能填报一份。定义明细表,中段、队组等定义为重复数据项。图四为该模板部分最终效果图。
(图四)
2.4.2探矿作业月报表:设计该模板时,定义数据项与坑道进尺验收月报表类似,但由于该模板的部分数据需要根据条件提取坑道进尺验收月报表中的数据,所以就用到了表间公式,在该模板中多加一列“序号”数据项的技巧,其目的是使提取1表中的数据不会错行,公式如下:
提取<坑道进尺验收月报表_明细,坑道进尺验收月报表_主表>中满足下列条件的数据:
<数据筛选:坑道进尺验收月报表_主表.单位名称=本报表.Sheet1:单位名称
并且年份值(坑道进尺验收月报表_主表.日期) =年份值(本报表.Sheet1:日期)
并且月份值(坑道进尺验收月报表_主表.日期) =月份值(本报表.Sheet1:日期)>
按以下方式填入<探矿作业月报表_明细>:
坑道进尺验收月报表_明细.序号 --->(填入值) 序号(升序)
坑道进尺验收月报表_明细.队组 --->(填入值) 队别
坑道进尺验收月报表_明细.中段 --->(填入值) 中段
坑道进尺验收月报表_明细.工程名称 --->(填入值) 工作面名称
坑道进尺验收月报表_明细.规格 --->(填入值) 实际验收规格
坑道进尺验收月报表_明细.合格进尺 --->(填入值) 实际验收原规格进尺
图五为该模板填报提取数据后的部分最终效果图。
(图五)
2.4.3探矿掘进进尺分类表: 此模板属于该信息系统中比较复杂的一张,因为该模板涉及到分类汇总和上月累计两个难点。设计者在设计该模板时明细表采用了交叉表设计方式,并引用了一行(第4行)和多列(B列和各单位上月累计列)辅助,然后将其隐藏,目的是根据多条件匹配查找提取2表数据。主表与2表类似,只是多加了“提取上月日期”的一个数据项,目的是根据此日期提取上月累计。表间公式采用了三条,分别为提取当月数据、提取上月日期、提取上月累计。其中在表间公式中还引用了表间关联:单位对应明细表。目的是根据选择上级单位提取该单位下所有子单位符合条件的数据。图六为模版部分效果图,图七为单位对应明细表。三条表间公式分别如下:
提取本月数据:
提取<单位对应_明细,探矿作业月报表_明细,探矿作业月报表_主表>中满足下列条件的数据:
<表间关联:单位对应_明细.工区=探矿作业月报表_主表.单位名称>
<数据筛选:本报表.Sheet1:单位名称=单位对应_明细.坑口
并且年份值(本报表.Sheet1:日期) =年份值(探矿作业月报表_主表.日期)
并且月份值(本报表.Sheet1:日期) =月份值(探矿作业月报表_主表.日期)>
按以下方式填入<探矿掘进进尺分类表_明细>:
单位对应_明细.工区 --->(按行(列)匹配) 坑名
′本月′ --->(按行(列)匹配) 统计类型
探矿作业月报表_明细.工程分类 --->(按行(列)匹配) 工程类型
探矿作业月报表_明细.矿种 --->(按行(列)匹配) 矿种类
探矿作业月报表_明细.规格大小 --->(按行(列)匹配) 规格
合计(探矿作业月报表_明细.实际验收原规格进尺) --->(填入值) 数据
提取上次日期:
提取<探矿掘进进尺分类表_主表>中满足下列条件的数据:
<数据筛选:年份值(本报表.Sheet1:日期) = 年份值(探矿掘进进尺分类表_主表.日期)>
按以下方式填入<探矿掘进进尺分类表_主表>:
最晚(探矿掘进进尺分类表_主表.日期) --->(填入值) 上次日期
提取上次累计:
提取<探矿掘进进尺分类表_明细,探矿掘进进尺分类表_主表>中满足下列条件的数据:
<数据筛选:年份值(探矿掘进进尺分类表_主表.日期) =年份值(本报表.Sheet1:上次日期)
并且月份值(探矿掘进进尺分类表_主表.日期) =月份值(本报表.Sheet1:上次日期)
并且探矿掘进进尺分类表_主表.单位名称=本报表.Sheet1:单位名称
并且探矿掘进进尺分类表_明细.统计类型=′累计′
并且 探矿掘进进尺分类表_明细.坑名=本报表.Sheet1:坑名>
按以下方式填入<探矿掘进进尺分类表_明细>:
探矿掘进进尺分类表_明细.坑名 --->(按行(列)匹配) 坑名
′上月累计′ --->(按行(列)匹配) 统计类型
探矿掘进进尺分类表_明细.工程类型 --->(按行(列)匹配) 工程类型
探矿掘进进尺分类表_明细.矿种类 --->(按行(列)匹配) 矿种类
探矿掘进进尺分类表_明细.规格 --->(按行(列)匹配) 规格
合计(探矿掘进进尺分类表_明细.数据) --->(填入值) 数据
(图六)
(图七)
2.4.4探矿作业整理汇总表:根据业务流程分析,该模板是按不同矿种分类,然后根据探别和项目来汇总所需各类数据。所以在设计该模板时,最重要的就是在表间公式中与单位对应明细表关联,这样就可以根据不同单位来分别汇总符合条件的数据了。其定义主表和明细表与2表类似,图八为模板部分效果图。因为有氧化矿、硫化矿、铅矿3种矿种,根据单位明细表,每种矿种有4种不同汇总方式,所以此模板共12条表间公式,以下给出根据氧化矿汇总某坑口符合条件的表间公式,其余矿种类似。
提取氧化矿数据_按坑口:
提取<单位对应_明细,探矿作业月报表_明细,探矿作业月报表_主表>中满足下列条件的数据:
<表间关联:探矿作业月报表_主表.单位名称=单位对应_明细.工区>
<数据筛选:单位对应_明细.坑口 =本报表.Sheet1:制表单位
并且探矿作业月报表_明细.矿种= ′氧′
并且年份值(探矿作业月报表_主表.日期) =年份值(本报表.Sheet1:日期)
并且月份值(探矿作业月报表_主表.日期) =月份值(本报表.Sheet1:日期)>
按以下方式填入<探矿作业整理汇总表_明细>:
探矿作业月报表_明细.探别 --->(按行(列)匹配) 探别
探矿作业月报表_明细.项目 --->(按行(列)匹配) 项目
合计(探矿作业月报表_明细.机台数台班) --->(填入值) 氧化矿机头台数
合计(探矿作业月报表_明细.实际验收原规格进尺) --->(填入值) 氧化矿进尺
合计(探矿作业月报表_明细.实际验收折合体积) --->(填入值) 氧化矿体积
合计(探矿作业月报表_明细.耗用人工工班运输) --->(填入值) 氧化矿耗工总数工班运输
合计(探矿作业月报表_明细.耗用人工工班修理) --->(填入值) 氧化矿耗工总数工班修理
到此为止,生产统计报表系统中探矿部分的全部模板就设计完成了。其他几个采矿、运输、出勤类型的模板与探矿的模板设计思路基本相同,不同的只是各模板的格式和提取数据源不同而已。这样,一个生产统计管理报表系统的核心就基本设计完成了。后期就是比较简单的报表美化设计工作。经设计者组织测试,各模板提取数据完全准确无误。
三、结束语
该系统的设计过程完全由主要业务人员自主参与设计,系统的设计需求随时可以根据业务流程的不断变化而随时改变。这样既提高业务人员的业务素质,又减少系统投入的风险。由于系统设计者不是专业统计业务人员,在流程设计中难免有不足之处,请给予批评指正。
[参考资料]
[1] Excel服务器认证工程师培训教程
[2]<< Excel数据处理与分析实战技巧精粹>>人民邮电出版社,2008-8-1,Excel Home编著