信息系统业务报表的开发与分析
2006-06-17 10:58
204 查看
在所有系统中业务报表的统计数据大部分由以下几种数据库的操作方式获取:
A、SUM(),汇总某一个数据表的字段,我暂且称之为报表的统计指标;
B、COUNT(),统计某一个数据表的记录数;
C、其它字段之间的逻辑运算等;
以上几种操作方式得出来的数据虽然在一定程度上满足了一部分的统计报表需求,但现实中往往报表除了简单的数据外,还有很多对统计的数据范围(即口径)有很多的限定,如只统计2006-6-1至2006-6-30之间所有部门的某种产品的出库总量的detail,这就不是一条简单的SUM()就OK的。我们一起来详细地分析下这个限定条件。
该限定条件有三个(时间,组织机构、产品),我们暂且称之为维度。在业务报表中称了以上所列的三个维度外还有更多的,有些甚至是不确定的(这就看业务需求分析人员需求分析的深度及广度啦,能不能找出业务中隐含的可能将来为统计维度的情况)。所以我们在开发业务系统时,往往统计报表这一块是变化最大的,而报表往往跟管理是息息相关的,在一个企业或公司管理就更加善变啦,那我们作为系统开发人员和DBA如何来应付这种情况。
再看看这个问题描述的根本点(统计指标)——出库总量,在数据库的操作上就是( select sum(出库量) from 表)即得出,但如果考虑前面的三个限定条件就没如此的简单。首先是时间:大家肯定想到的就是在这句SQL语句后面加个where条件不就OK啦,其实不然。我们又来看另一种对时间要求的情况,系统运行几个月后,可能有一天客户又提出想看看这几个月某个产品每个的出库量情况,采用前面的处理方式就肯定行不通。是不是加一个GROUP BY就OK啦呢?也不尽然。你也不知道客户的管理要求将来会怎么要求,所以看到很多朋友在做信息系统时只看到了客户当前的报表或某一个局部的报表要求,没有放眼将来和全局分析和考虑问题想法,经常看到说今天客户又把需求改成什么什么啦。
综合以上分析,我们在做信息系统分析、数据库设计及系统开发时,可以考虑采取纳入统计指标和统计维度的概念来分析与设计,首先把业务系统的数据库结构设计的健壮点,如果这点没做好,将来改结构有的你受的;其次是系统开发人员在报业务报表时,基本上都采用动态SQL,站在用户的角度多考虑考虑,把一个数据表字段的各种可能性组合尽可能地想到(如分组、范围条件等等);当然最根本、最重要的还是需求分析人员多与客户交流,引导客户提出其报表需求,并不是一个简单的报表格式,需求包括报表的详细的统计指标和统计口径的说明,使用、查看报表的部门等等信息。这样才尽可能地减少系统在统计报表开发过程中的返工,甚至于推翻重做。
A、SUM(),汇总某一个数据表的字段,我暂且称之为报表的统计指标;
B、COUNT(),统计某一个数据表的记录数;
C、其它字段之间的逻辑运算等;
以上几种操作方式得出来的数据虽然在一定程度上满足了一部分的统计报表需求,但现实中往往报表除了简单的数据外,还有很多对统计的数据范围(即口径)有很多的限定,如只统计2006-6-1至2006-6-30之间所有部门的某种产品的出库总量的detail,这就不是一条简单的SUM()就OK的。我们一起来详细地分析下这个限定条件。
该限定条件有三个(时间,组织机构、产品),我们暂且称之为维度。在业务报表中称了以上所列的三个维度外还有更多的,有些甚至是不确定的(这就看业务需求分析人员需求分析的深度及广度啦,能不能找出业务中隐含的可能将来为统计维度的情况)。所以我们在开发业务系统时,往往统计报表这一块是变化最大的,而报表往往跟管理是息息相关的,在一个企业或公司管理就更加善变啦,那我们作为系统开发人员和DBA如何来应付这种情况。
再看看这个问题描述的根本点(统计指标)——出库总量,在数据库的操作上就是( select sum(出库量) from 表)即得出,但如果考虑前面的三个限定条件就没如此的简单。首先是时间:大家肯定想到的就是在这句SQL语句后面加个where条件不就OK啦,其实不然。我们又来看另一种对时间要求的情况,系统运行几个月后,可能有一天客户又提出想看看这几个月某个产品每个的出库量情况,采用前面的处理方式就肯定行不通。是不是加一个GROUP BY就OK啦呢?也不尽然。你也不知道客户的管理要求将来会怎么要求,所以看到很多朋友在做信息系统时只看到了客户当前的报表或某一个局部的报表要求,没有放眼将来和全局分析和考虑问题想法,经常看到说今天客户又把需求改成什么什么啦。
综合以上分析,我们在做信息系统分析、数据库设计及系统开发时,可以考虑采取纳入统计指标和统计维度的概念来分析与设计,首先把业务系统的数据库结构设计的健壮点,如果这点没做好,将来改结构有的你受的;其次是系统开发人员在报业务报表时,基本上都采用动态SQL,站在用户的角度多考虑考虑,把一个数据表字段的各种可能性组合尽可能地想到(如分组、范围条件等等);当然最根本、最重要的还是需求分析人员多与客户交流,引导客户提出其报表需求,并不是一个简单的报表格式,需求包括报表的详细的统计指标和统计口径的说明,使用、查看报表的部门等等信息。这样才尽可能地减少系统在统计报表开发过程中的返工,甚至于推翻重做。
相关文章推荐
- 财务报表开发实例分析:几个通用维度介绍与关键点
- RCP之病人信息系统开发总结(2):项目结构分析和重要类分析
- 【Oracle-PLsql】使用存储过程,利用table集合类型开发复杂业务报表
- 业务开发测试HBase之旅四:HBase MapReduce实例分析
- ABAP--如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行
- ABAP--如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行
- 论软件项目的进度管理2-综合业务信息系统的开发
- 经营计划与经营利润分析动态报表的实现--业务需求
- 投资银行业务财务报表分析
- !金尚网上商城 03~07、WEB项目开发的一般流程—分析与设计之业务逻辑分析设计
- ABAP--如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行
- DAO开发实战业务分析
- 信息系统开发与利用 领域分析部分@wangshushu
- 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示使用报表构建UI-入库业务查询模块
- 房地产业务学习(06)-开发项目管理的难点分析&IT系统价值 推荐
- 电信业务支撑报表开发工具解决方案
- ABAP--如何限制自己开发的耗时报表在sap系统中运行的个数,以保证正常业务的进行
- 开源BI报表及OLAP多维分析平台OPENI(二)—搭建Eclipse下的Openi开发环境
- 信息系统开发中用户需求调研分析方法例解