[报表技巧] 在页眉或组页眉 跨行显示详细资料节中的汇总



遇到这样一个报表(如上图),原来是 Excel 实现的,其中红色区块部分=(1)~(5) 的和,但是却并不包括红色的“其中。。”
而数据又是分层的,“其中”这一项目,因为历史数据的原因,与(1)。。(5)属同级数据
根据报表的整体效果,这个就是需要使用分组来实现,但是如何在组页眉上显示这个红色区块的值就成了问题
一般我们用组合计,只会显示全组的和,也就是黄色区块的39
当然,我们也可以使用运行时总计,不过这个合计就只能出现在组的底部,实现不了现在的效果。

经过多次试验,从报表上实现未果,于是转而从数据库上下手,再结合水晶报表的小技巧来实现。

思路是这样的:

假设描述字段为A,数值字段为B,此时我们虚拟一个字段(别名)C。
规则如下,如果A中包含“其中”字样,则C的值设置为0,否则保持为B的值

构造如下语句(Oracle)
Select A,B,Decode(Instr(Trim(A),'其中',1,1),1,0,B) C From [表]

在报表设计时,分组后,按C进行汇总,然后将C抑制显示,然后把B放到C的位置,进行显示,即可实现需要的效果。


posted @ 2008-03-11 00:14  阿泰  阅读(2089)  评论(2编辑  收藏  举报