关于写报表的一些经验

上个月,一直忙于开发报表,虽说自己写报表的经验不是很多,也就是从最近才开始的,之前也只是修改一下现有的报表,但经过这段时间,对报表的开发已经有了一些认识。

首先,要弄清楚报表中统计的每个字段的来源(字段是从哪个表里查出来的)、含义(有些字段是经过加减乘除运算的出来的,比如:平均值、比例、合计等)。明白报表的查询条件是什么,比如:时间条件、和业务上的一些条件。基本上可以限定,这个报表中用到了几个表,表之间的关联关系是什么(外键关系)。

对于简单的报表,可以通过一条SQL查出来结果集,再做一些简单的加减乘除,把运算好的结果封装到一个集合中(一般是list),然后在页面上显示即可。

但是一般的报表都比较复杂。我试过两种方式去写。

第一种,是使用SQL直接查出结果,结果用list接收,在页面显示。没错,所有的运算啊、什么的都通过SQL。SQL查出来之后,不需要对结果再处理。这样不是一个好办法。最初之所以用这种方式实现,是因为迫于当时时间紧急。当时,每个报表都有已经写好的SQL,为了尽快开发报表,以一天开发两个报表的速度,就用这种方式做了。

这种方式,首先写SQL的难度比较大。需要用到的表通常很多,七八个都是正常的,SQL也比较复杂,比较长,写SQL花费的时间也会长一些。而且测试的时候发现,表之间的关系稍有不慎,报表的结果就不准了,需要修改SQL。

然后,在上线之后,发现了一个比较严重的问题。8个报表中,有2个上线之后,直接报错。但是明明测试的没问题啊。只好拿SQL去生产的数据库里执行,报错如下:

上网查,说是因为temp表空间不足造成的。这两个报表的SQL并不是所有报表中最复杂的,而且也经过了一些优化,没有特别多余的语句,我也不明白为什么会这样。

之后通过对报表的维护,发现,SQL若有任何一点失误的地方,对SQL的改动就比较大,SQL动的时候要小心,因为可能会改错。所以我的感觉就是,维护的难度有点大。

然后就会想到用第二中方法来开发报表。

第二种:

用Java分步骤的查询、运算出来要用的数据,拼到一起,凑成结果集,在页面显示。或者直接在后台加上<table>、<tr>、<td>这些,和结果拼成字符串,传到前台,直接显示table,就是报表的样子。

时间: 2024-10-13 02:05:48

关于写报表的一些经验的相关文章

报表研究之工具篇-VBA

最近一直在研究VBA,写报表的工作.将所得的知识,经验总结一下,与大家分享. 工具篇,VBA 1.EXCEL一个最好用的功能就是录制宏,当一个函数拿不准要怎么写,用什么函数表示的时候,录制就帮了大忙了. 2.VBA相对于录制的宏,可以更精确,更聪明,逻辑更清晰,执行也更有效.特别是它的循环和递归,直接解放了人的双手. 3.VBA的基本操作 (1)定位: 基本单位:sheets(页),Rows(行),Columns(列),cells(单元格),RANGE(一个范围的单元格) 相对于每个基本单位,我

论文写作经验 集萃

IEEE ICIP: International conference on Image Processing 图像处理领域最具影响力国际会议,一年一次 图像处理 IEEE ICASSP: International Conference on Acoustics, Speech and Signal Processing 是语音和声学信号处理领域最权威的国际学术会议之一,也是图像.视频信号处理领域的权威会议之一,每年举办一次 信号处理 英文投稿的一点经验[转载] From: http://ch

计算机顶级会议Rankings &amp;&amp; 英文投稿的一点经验

英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时间;另外,每个杂志都有他们的具体格式要求,一定要按照他们的要求把论文写好,免得浪费时间,前些时候,我的一个同事向一个著名的英文杂志投稿,由于格式问题,人家过两个星期就退回来了,而且说了很多难听的话,说投稿前首先就应该看清楚他们的格式要求: 2. 论文写作一定要言简意赅,特别是摘要,引言和结论部分,特

计算机类研究生求职经历以及经验共享(转)

计算机类研究生求职经历以及经验共享(转) 2007-08-10 12:34 一.      求职历程总结 2007年1月10日,随着在三方协议上郑重签下自己的名字,我的求职历程终于划上了一 个圆满的句号.在这三个月漫长而艰辛的过程中,我付出了很多,经历了很多,也收获了很 多.这一路走来,要感谢的人太多太多,尤其要感谢每一个在找工作过程中关心.帮助过我 的人,我会一生铭记你们的恩情.现在,尘埃落定,到了该回报的时候,我首先要回报的就 是我的母校和同学.所以,决定把自己找工作中积累的经验写出来给大家

SCI&amp;EI 英文PAPER投稿经验【转】

英文投稿的一点经验[转载] From: http://chl033.woku.com/article/2893317.html 1. 首先一定要注意杂志的发表范围, 超出范围的千万别投,要不就是浪费时间;另外,每个杂志都有他们的具体格式要求,一定要按照他们的要求把论文写好,免得浪费时间,前些时候,我的一个同事向一个著名的英文杂志投稿,由于格式问题,人家过两个星期就退回来了,而且说了很多难听的话,说投稿前首先就应该看清楚他们的格式要求:2. 论文写作一定要言简意赅,特别是摘要,引言和结论部分,特别

实例:供应商管理报表需求调研报告

引言 随着企业集团的生产规模扩张.为支撑全球供应链管理.对于供应商的管理和採购过程的监控已经不局限于简单的交付以及价格的管理,眼下採购及供应商管理各个环节的操作分别在不同的系统下进行.而各个数据源都独立存在,无法提供统一的数据支持:因此,为了实现对于数据分析以提供採购决策,建立报表体系成为必须. 业务目标 1.通过报表为採购决策提供数据分析与支撑 2.对供应商进行综合评估以及管理,合理管理和引导供应商 3.对综合採购成本进行把控.包含标准重要物料成本构建, 4.对採购过程进行跟踪.以便对供应商进

SQL Server Reporting Services创建与订阅报表

倘若数据库中的数据是实时更新的,而我们研究评估所用的报表也是要基于这样的实时数据,这时候我们就可以采用SQL Server Reporting Services(SSRS)服务.一个比较浅显的应用场景是,我们需要观察最近一天.一周或者一月的销售数据KPI并与上一个周期做比较得到相应的表格或图形,而恰好实时的销售数据都会进入到数据库中.这样做的好处是,对于这种功能需求一样,只是输入参数随时间而变化的报表,采用SSRS可以实现自动化,避免了重复的工作.下面简要总结一下SSRS建立和订阅报表的步骤经验

奋斗的青春最美丽-就业经验交流会

响应计算机学院团委的号召,2012级硕士1班团支部举办了一次以"我的中国梦-奋斗的青春最美丽"为主题的团日活动.这次活动主要是请身边的青春榜样给团支部的成员做汇报,经过协商,本支部荣幸请来了北理校友,目前在清华大学软件学院就读研三的郭学长来给大家做汇报. 这次团日活动于4月1日晚上八点半在研究生楼105教室举行.考虑到本支部成员都是研二同学,即将面临找工作的问题,这次汇报侧重于交流就业经验,郭学长正好也有很多找工作的经验与大家分享,他在去年找工作时投了五十多家单位,去四十多家单位参加了

关于报表sql报表的写法

我在我的项目中发现基本上所有的报表 都是三个界面 总 我发现这三级页面的查询语句 有共用的部分,但是之前该系统的这写报表每一级页面都是是单独写查询并且直接写在jsp页面中,我们经理写了新的方法将sql语句放到单独文件去读取,但是往前的程序员没有去改,而是复制粘贴前面的写法,我细细的看了一次经理的写法后,然后细看了下api发现还有许多好的方法,但是在项目中没有用,我觉得之前的同事如果细看一下该会提高多少效率和避免多少错误,于是我把它整理出来了,因为思路是可以共用的直接上图了 这只是第一级页面的写法