阿泰的软件实用主义

水晶报表/BOE

博客园 首页 新随笔 联系 订阅 管理
  176 Posts :: 9 Stories :: 2046 Comments :: 38 Trackbacks



遇到这样一个报表(如上图),原来是 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 on 2008-03-11 00:14 阿泰 阅读(342) 评论(2)  编辑 收藏 网摘 所属分类: CR报表设计

Feedback

#1楼  2008-04-24 15:23 K字头 [未注册用户]
直接在CR上做一个公式不行吗?

"当然,我们也可以使用运行时总计,不过这个合计就只能出现在组的底部,实现不了现在的效果。"

总结的结果字段不是可以拖动的吗?莫非我用SQL与你ORACLE不同?不是CR的版本不同?我在用CR11.
  回复  引用    

#2楼 [楼主] 2008-04-26 09:57 阿泰      
@K字头

运行时总计虽然能拖到页眉或组页眉,但实质上只对第一条记录进行了运算
起不到从上往下的计算效果
  回复  引用  查看    


标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索


China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!

相关文章:

相关链接: