当前位置: 代码迷 >> 综合 >> 如何制作动态层分组报表
  详细解决方案

如何制作动态层分组报表

热度:65   发布时间:2023-09-05 19:34:30.0

润乾报表提供了单元格同值合并的功能,可以实现动态层次的分组报表。这里通过一个例子来说明使用过程。

目标报表:

需要根据参数动态传递分组字段,按不同维度汇总订单运货费。如参数输入“货主地区, 货主城市”,显示的报表效果如下:

如何制作动态层分组报表

当参数输入“货主地区, 运货商, 货主城市”时,报表显示如下:

如何制作动态层分组报表

以下为具体实现步骤:

1、连接数据源

连接润乾报表设计器自带 DEMO 数据源:

如何制作动态层分组报表

2、设置报表参数

新建报表,并设置报表参数如下:

如何制作动态层分组报表

其中,gnum 为分组字段数;gname 为分组字段名,多个字段使用逗号分隔

3、设置数据集

报表数据集使用 SQL 检索,数据集设置如下:

如何制作动态层分组报表

这里使用了参数的 ${参数名} 的用法。利用 ${参数名} 引用方式可以在报表中动态进行表达式的替换,在报表运算之前,系统会全面搜索整张报表定义,将所有 ${参数名} 中的参数名替换成参数值,然后再进行报表计算。

4、设置报表单元格表达式

报表表达式设置如下:

如何制作动态层分组报表

上面使用了动态列表达式,其中 ds.fname()获得字段名,ds.field() 进行取数。此时如果不设置同值合并,得到的结果是:

如何制作动态层分组报表

而我们希望当分组字段值相同时,可以纵向合并成一个单元格,也就是“同值合并”。

5、设置同值合并

选中 A3 和 B3 单元格,选择右侧属性面板中的同值合并选项为“纵向合并”(可选择的合并方式有:横向合并、纵向合并和不合并)

如何制作动态层分组报表

再次预览报表即可得到期望的结果。

更多报表样式相关问题请查看:报表样式相关问题分类导航

  • 动态列报表的制作
  • 如何动态改变报表的行高列宽
  • 如何在分组报表中实现组内数据补空行及组内页码
  • 局部区块多个报表 TAB 页切换及局部区块的参数查询
  相关解决方案