码迷,mamicode.com
首页 > 其他好文 > 详细

报表怎么做“其他”分组

时间:2020-06-17 23:28:51      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:设置   按段分组   说明   修改   过滤   个数   com   repo   指定字段   

SQL 中分组是很常见的运算,是将一个集合按照某种规则拆分成若干个子集,常常伴随着对子集的进一步汇总计算。

报表中我们通常称这种分组为“等值分组”。实现这种等值分组也很容易,只需要按照指定字段做 group(), 再针对分组做聚合运算即可。如下图 1:

技术图片

关于等值分组图中可以看到对应设置的每个表达式,这里不多做说明,重点看下面

其他分组

举例:

有时除了上述等值分组外,我们还希望做到部分分组(又称不完全分组,即不把所有的记录用于分组,只保留用户关心的分组项,其余的组全部归并成一组)。

多数情况下 SQL 对于这类计算经过子查询或者存储过程建立临时表,也可以实现,但会麻烦一些。

下面主要看一下润乾报表如何实现不完全分组:

要求保留原有分组报表(上图 1)的妙生、为全供应商组,其他的组全部归并为一组称为“其它”。

设计界面修改如下:

技术图片

具体处理:

  1. 在原分组报表(上图 1)的基础上,新增两行用于其它组呈现统计

  2. A5 单元格表达式增加过滤及排序,表达式为:=ds1.group(供应商 ID, 供应商 ID==3 or 供应商 ID==4; 供应商 ID:1)

  3. 新增行 7-8,合并 A7-A8 单元格,表达式为:其它

  4. B7 表达式为:=ds1.group(类别 ID, 供应商 ID!=3 and 供应商 ID!=4; 类别 ID:1),只保留供应商为妙生、为全的

  5. G8 表达式为:=sum(E7*G7,B7{}),针对其他分组计算小计

  6. 新增行部分其他单元格表达式及设置可直接复制 C5-G5 单元格的设置。

Web 预览效果:

技术图片

可以看出,润乾报表处理这种问题很巧妙,仅使用了其内置函数 select 和 group 设置过滤条件参数,就可以在进行选出或者分组的时候,过滤掉无关的记录,仅对部分记录进行分组,达到不完全分组统计的效果。

之后还可以对同一个数据集重复进行多次的分组或者选出、汇总操作,从而可以实现很复杂的分组报表。

不完全分组具体实现步骤可参考:不完全分组报表制作步骤

更多推荐:

等值分组

按段分组

报表怎么做“其他”分组

标签:设置   按段分组   说明   修改   过滤   个数   com   repo   指定字段   

原文地址:https://www.cnblogs.com/xmilu/p/13155078.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!