• 在线报表设计实战系列 – 制作复杂表头报表(4)


    葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

    中国式复杂报表的一大特征是多层表头,分级汇总、分层合并,本节介绍一个典型的复杂表头报表的实现方法。

     

    (1)创建数据集

    从报表管理门户(http://localhost:8080 )点击【创建报表】,进入新报表的设计页面。点击右边栏的【数据】选项卡,再点击【数据集】右侧的【添加】如下图:

    在【新建数据集】下方,选中之前创建好的示例数据源,再点击【添加】按钮,如下图:

    image2017-11-2_16-2-57.png

    在数据集编辑对话框中,输入SQL语句:

    select * from 电力设备生产数据 order by 生产方式, 产品性质, 所属事业部, 月, 周

    验证查询语句后点击【确定】,保存数据集的定义。

    数据集的字段列表如下图:

     

    (2)实现思路

    数据集的原始数据如下图所示:

    期望的报表展示方式如下图:

    可以看到这种报表的主要特征:多层行头、多层列头、分类合计。

    实现思路可以概括为:

    (a)行分组:按照生产方式、产品性质、所属事业部、类别进行四级分组;

    (b)列分组:按照月份和周次进行二级分组;

    (c)行、列分组添加汇总。

     

    (3)添加矩表

    从左侧工具箱中拖放一个【矩表】,右键单击第二行的第一个单元格,此列代表数据行的行头,点击【行分组】-【子级分组】,如下图:

    添加一个子分组之后,矩表将增加一个新列。右键点击该新列的单元格,继续点击【行分组】-【子级分组】,直至矩表变为5列。

    右键点击矩表末列的首行单元格,该单元格代表动态表头,即根据数据动态生成的多个表格列的列头。选择【列分组】-【子级分组】,如下图:

    此时,矩表将变成一个3行5列的结构,如下图:

    针对前4列,合并第1、2行单元格。输入固定列头文字:生产方式、产品性质、所属事业部、类别。

    第5列的首行将显示月份,可将数据字段的日期内容,用下面的表达式转为yyyymm的年月形式:

      =Year(Fields!月.Value) * 100 + Month(Fields!月.Value)

    第5列的次行将显示周数,绑定数据库字段【周】即可。

    第3行的前4个单元格,分别绑定数据库字段:生成方式、产品性质、所属事业部、TYPE。

    第3行的最后一个单元格,将用于显示数值,设置为汇总数量的如下表达式:

      =Sum([QTY])

    设置完毕的效果如下图:

     

    (4)设置分组

    点击工具箱中的【分组管理】,展开分组树形目录,选中一个分组,在右侧设置选项中设置【分组条件】为某个字段,如下图:

    将4个行分组的分组条件分别设置为【生成方式】、【产品性质】、【所属事业部】、【TYPE】这四个字段的值,例如:=Fields!生产方式.Value

    将两个列分组的分组条件分别设置为【月】、【周】这两个字段的值。

     

    (5)添加分组合计

    右键单击分组单元格,选择【汇总操作】-【在分组后显示汇总】,如下图:

    对4级分组做同样的操作,矩表将为每个级别的汇总新添一个数据行。

    同样,对【月】和【周】两级列分组,也添加相应的汇总列。

    将【汇总】字样修改为合计,并合并单元格。

    添加汇总和和汇总列之后,会多出来一些数值单元,将这些数值单元格全部复制为 =Sum([QTY]) 表达式。

    设置完毕的矩表如下图:

    列头中,月份下面、周数旁边的【合计】为单月小计,可将“合计”字样改为表达式:=Year(Fields!月.Value) * 100 + Month(Fields!月.Value) & "小计" ,这个表达式的显示形式将是“月份小计”,例如 201509小计。

    行头中,各级合计都可以设置为【分类名+小计】的形式。如下图:

    (6)外观设置

    对标题行、行头、合计行设置不同的背景色,如下图:

    预览报表,效果如下图:

    至此,一个多层表头、多层列头、分级汇总的报表就设计完成了。

    转载请注明出自:葡萄城报表

     

    关于葡萄城报表
    葡萄城报表是一套强大的报表开发和系统搭建工具,既能与您开发的报表软件项目紧密集成,也可独立部署运行,支持多数据源,具有无编码、灵活、稳定等特性,可以帮您快速搭建专业的报表软件系统,实现各类报表的设计、管理、权限控制、数据填报、负载均衡及跨平台发布。

    千万种报表,同一种选择!获知葡萄城报表更多详情,请访问如下网站:
    了解报表开发控件:http://www.gcpowertools.com.cn/products/activereports_overview.htm
    了解报表服务器:http://www.grapecity.com.cn/enterprise-solutions/activereports_server

  • 相关阅读:
    Oracle 验证A表的2个字段组合不在B表2个字段组合里的数据
    jQuery方法一览
    Maven构建项目时index.jsp文件报错
    DDL——对数据库表的结构进行操作的练习
    不经意的小错误——onclick和click的区别
    UML基础——统一建模语言简介
    基于UML的面向对象分析与设计
    数据结构之——树与二叉树
    UML类图几种关系的总结
    C3P0连接参数解释
  • 原文地址:https://www.cnblogs.com/chunsunbajie/p/complex_header_report_4.html
Copyright © 2020-2023  润新知