水晶报表 分类统计之分组钻取、子报表、数据过滤三箭齐发

本文的发布是基于之前《水晶报表 分类统计之子报表法》的新需求而写,所以必须先看之前这篇《水晶报表 分类统计之子报表法》(地址:http://blog.csdn.net/luols/archive/2010/08/09/5797748.aspx),否则将一头雾水。。

我们先看看字典表的数据

通过这个字典表,我们得知当且仅当DICTNO='10051002'或'10052003'时为产品类,其他都属于技术类,由此我们可在主报表新建一个公式,取名group,编辑:
if {TableA.science} = '10051002' or {TableA.science} = '10052003' then
'产品类'
else
'技术类'

然后在主报表按 公式group 分组,同前篇文章一样,在组头节保留组名和汇总字段;
在主报表再插入一个组(按Dictionary.DICTNAME分组),同样在组头2节保留子报表对象和汇总字段,其中子报表的创建同前篇文章一模一样。
设计完后主报表界面应该是这样的(其中组头#2节的斜线部分是到主报表设计工作全部结束后才会显示出来,继续往下看)

主报表设计工作还没结束,还有我们最最关键的步骤,实现分组钻取功能。进入节专家,如图示操作

最后在主报表进行数据过滤,同前篇文章一样,在报表空白处点右键->报表->选择专家,点击“显示公式>>>”按钮,输入:
{Dictionary.COLNAME} in ["10051001", "10051002"]

至此,主报表设计工作才算结束


子报表设计同前篇文章一样,仅仅修改里面的公式Condition即可,修改如下:
if {?Pm-Dictionary.DICTNAME} = '技术a' then
'10052001'
else if {?Pm-Dictionary.DICTNAME} = '技术b' then
'10052002'
else if {?Pm-Dictionary.DICTNAME} = '产品a' then
'10052003'

最后代码部分也同前篇文章一样,没做任何的修改

最终运行效果如下:

 

lixin_pan,由于工作繁忙,现在才给出解答,不好意思,不过这个问题的确值得好好探讨!!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值