« | September 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | |
|
公告 |
此处系本人收藏资料,发表杂说之地!博中文章未经许可不得转载! |
统计 |
blog名称:Report World 日志总数:57 评论数量:146 留言数量:-3 访问次数:302471 建立时间:2007年6月8日 |
| 
|
本站首页 管理页面 写新日志 退出
为什么说中国式报表特殊-5.3 跨行组运算 |
中国报表统计方面的第三个复杂点是格间运算,特别是跨行组的运算。
要统计就要有运算,所有的报表开发工具都提供了计算汇总的功能。运算只有两种,一种是行内各列之间的运算,另一种是针对某组(或全体)所有数据进行的汇总(可能带条件),两种运算可以组合。
但是,在中国的报表中只有要时间序列的,多半就要涉及到比上期、比去年同期之类的运算,这种运算跨行甚至跨组了。而这种能力,咱们手上这些报表开发工具就又没有了。其原因在于:这类工具都和数据库的概念匹配得很好,而数据库的行是没有次序的,不知道谁是谁的上一行,比上期就没法定义了,比去年同期这种跨组运算更是想不明白了。为了解决这些问题,有些工具添加了一些引用上行或累积值的特殊函数,但跨组运算依然没法处理,只有再写代码了。
这种比较有规律的需求还不算太难办,编程序准备数据或是写个复杂点的 SQL 语句都能处理。但中国表中常常还会有些独立的格子,其运算方法和谁都不相干,或是从表格中东南西北挑几个格子加减乘除一番,或者干脆又要到数据库中再做 SELECT 运算,与其它格子之间无规律可循。这可不是在后台写点程序准备好数据就完了的,需要生成完表格后,再编程序计算出这些数填进去,这种搞法一般就得采用报表的脚本或者宿主开发语言来写代码了。
这三个较大的数据统计问题已经把大伙折磨得差不多吧,其它相关的还有一些次要问题,比如参数和宏的引入、交叉表的表头向右对齐问题等等,就不细说了。
参考:多层交叉汇总报表、利用宏动态计算web报表、电力行业用电分类报表、复杂报表之苦。
转自:最适合中国人的JAVA报表。
|
阅读全文(2100) | 回复(0) | 编辑 | 精华 |
|