温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

发布时间:2020-08-09 16:02:36 来源:ITPUB博客 阅读:167 作者:rqgxy 栏目:编程语言

概述

在文章《中国式复杂报表:按段分组报表制作对比(润乾 vs 帆软)》中,我们介绍了不规则分组的做法对比。本文将对另一种不完全分组(帆软称“归并分组”)报表的制作进行对比,废话不多说,我们这就实际操作一下,供大家参考。

 

如上图所示,仅重点关注统计“华北”和“华东”两个地区的数据,其他地区归为“其他”。

注:例子均以各产品自带数据库的“订单表及订单明细表”为例,表样如上图。

润乾报表做法

1、 准备数据集

       SELECT 客户. 城市, 客户. 地区, 订单明细. 数量, 订单明细. 单价 FROM 客户, 订单, 订单明细 WHERE 客户. 客户 ID = 订单. 客户 ID  AND  订单. 订单 ID= 订单明细. 订单 ID

2、 制作报表

       模板如下:

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

       其中:

(1)A2:ds1.group(地区, 地区 ==‘华东’ or 地区 ==‘华北’; 地区:1)

(2)B2:ds1.group(城市; 城市:1)

(3)C2:ds1.sum(数量 * 单价),显示格式为“#0.00”

(4)A3:“其他”,该组单独定义

(5)B3:ds1.group(城市, 地区!=‘华东’ and 地区!=‘华北’; 城市:1)

(6)D3:ds1.sum(数量 * 单价),显示格式为“#0.00”

3、 看效果

预览报表

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

** 帆软报表做法       **

1、 准备数据集

   SELECT 客户. 城市, 客户. 地区, 订单明细. 数量 * 订单明细. 单价 总额 FROM 客户, 订单, 订单明细 WHERE 客户. 客户 ID = 订单. 客户 ID  AND  订单. 订单 ID= 订单明细. 订单 ID

_   注:数据集汇总函数没找到怎么多个字段相乘的方法,sql 里把数据和单价处理为总 _

额了

2、 制作报表

   模板如下

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

   A2:ds1.G(地区)

   B2:ds1.G(城市)

   C2:ds1. 求和 (总额)

3、 定义归并分组列表

   和不完全分组类似,帆软都是通过给 ds.G() 函数设置自定义高级表达式分组来实现,实际也是按照字段条件值的不同分组,如下。

   选中 A2 单元格,单元格元素 -- 数据设置,选择“高级”-- “自定义”

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

分别定义各分组区间名称及条件表达式,列表如下

(1)华北地区

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

(2)华东地区

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

(3)其他

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

    定义华北和华东后,只需要在下面的下拉中选中“把其他所有的合并”即可,名字在后面的编辑框可以定义,比较灵活,减少了定义表达式的工作量。

4、 看效果

中国式复杂报表:不完全分组报表制作对比(润乾 vs 帆软)

总结:对于国内的商业报表,解决中国式复杂报表是标配的能力。从上面的例子我们不难看出,对于不完全分组(或归并分组)的报表需求来说,各厂商也有各自的解决方案,只不过做法稍有不同,略有优劣。润乾表达式好处在于分组条件值数量不多时非常好维护,不用点来点去看其他配置,一个函数调整即可。帆软的好处则相反,当数量多的时候,布局上看起来很舒服,维护较方便。本例仅作为不完全分组报表功能供用户参考对比,欢迎指正。

Ps:润乾可以通过集算器脚本将 sql 的结果集直接处理成需求的三个分组,然后在报表里直接可以用普通分组报表的做法,更简单直观。感兴趣的可以了解一下集算器的 enum 函数。

详情链接: http://c.raqsoft.com.cn/article/1554945976088?r=gxy


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI