用E XCEL 服务器实现生产统计报表管理信息系统[摘要] 本文介绍应用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。
客户端只需要安装Microsoft Office Excel和客户端安装包。
服务端的基础配置十分简单,进入管理控制台根据向导即可配置完成。
客户端不需要任何配置,只要在登录服务器处输入服务端IP地址(或计算机名)即可。
图一为服务器控制台的基本配置,其中包括以下几个部分:权限管理类工作:设置部门、角色、用户。
建立规范类工作:定义自动产生编号的规则,建立下拉列表、树型选择及列表选择等。
系统管理类工作:备份/恢复数据库,建立与其它应用系统(如财务软件、ERP 系统等)的数据库的集成,查看系统日志,监控与管理用户的连接等。
(图一)2.2理解统计报表在E XCEL 服务器中实现统计汇总的过程建立一个信息系统所要完成的四个方面:建立部门、角色、用户等基本信息;建立基础数据;管理业务数据;完成统计、汇总、查询。
在本系统中主要建立了涉及生产统计报表的部门、用户,并分别给各用户赋予相应的填报员、一级汇总、二级汇总、矿领导四种角色。
应用树型选择功能来建立填报单位的下拉选择列表。
图二为一份统计报表实现填报、汇总分析的基本过程。
(图二)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:日期)>按以下方式填入<探矿作业整理汇总表_明细>:探矿作业月报表_明细.探别 --->(按行(列)匹配) 探别探矿作业月报表_明细.项目 --->(按行(列)匹配) 项目合计(探矿作业月报表_明细.机台数台班) --->(填入值) 氧化矿机头台数合计(探矿作业月报表_明细.实际验收原规格进尺) --->(填入值) 氧化矿进尺合计(探矿作业月报表_明细.实际验收折合体积) --->(填入值) 氧化矿体积合计(探矿作业月报表_明细.耗用人工工班运输) --->(填入值) 氧化矿耗工总数工班运输合计(探矿作业月报表_明细.耗用人工工班修理) --->(填入值) 氧化矿耗工总数工班修理到此为止,生产统计报表系统中探矿部分的全部模板就设计完成了。