中国式复杂报表开发教程(3)—类Excel复合数据透视表

发布时间:2016/04/02 00:04 发布者:lenka.guo

返回博客中心

 

中国式复杂报表已经进入第三篇了,相信您对矩表的使用已经非常熟悉,而且在创建新的报表模板,不是急于去实现,而是先分析报表结构,然后根据结构采用最合适的解答方案。

本节将为大家介绍类Excel——复合数据透视表的报表创建过程,也是常用的报表,通常包含多级嵌套和结构复杂的列头和行头。

 

报表原型:

 

报表结构分析:

 

image

 

 

解决方案:

1. 使用矩表控件

2.行分组中,添加二级分组,首先按照城际分组,其次,按照校园分组;

3. 按照城际进行合计;

4. 按照日期进行列分组,在列分组中添加四级标题;

 

报表实现:

 

1. 新建RDL 报表模板

 

2. 添加数据源和数据集

 

1. 绑定数据源

image

添加数据集:

 

select dbo.综合业绩.*
from dbo.综合业绩

 

3. 添加矩表控件

添加Tablix后,会发现有类似[ 符号,表示分组,即可根据具体数据动态生成行。会发现设计器下面的矩表分组管理器;

4.添加行分组

 

如上节中,报表结构分析,行分组相对简单,主要包含两点:

1. 根据“城际”和“校园”进行嵌套分组,

2. 按“校园”分组进行合计;

因此设计行分组时,主要包含三步操作添加“主分组”,“子分组”,按子分组进行合计;

选中行分组单元格,右击添加行分组,选择“子分组”

image

 

添加后效果:

image

 

5. 添加静态列

 

根据结构分析描述的:

1. 列标题占用四行内容;

2. “目标值”为静态列

3. “城际月度完成情况”按照“时间”动态生成

4. 各“时间”分组,涉及五大列,如“利润完成”,“收入完成”,“退费率”等;

因此设计列结构时,重点:

1. 添加多层次的列头结构,即添加多行;

2. 在列分组中需要根据“时间”字段动态生成列;

 

实现步骤:

选中行的子分组,选择“插入列”->”分组内-右侧”;重复执行此操作,插入三列;

 

image

 

6. 添加列头

 

  • 添加第一层列标题“城际月度完成情况”

因为“城际月度完成情况”列包含四层标题,因此需要选中列分组单元格——>插入行——>分组外上方(城际月度完成情况只显示包含时间分组,因此只显示一次,所以选择分组外上方)

 

image

 

image

  • 第二层列标题,显示“时间”,因此不做添加;

 

  • 添加第三层列标题“利润完成”等,因为这些标题,在每一个“时间”分组中都会显示,因此需要在分���内添加;选中行分组单元格,插入行——>“分组内下方”

image

 

image

 

  • 添加第四层标题,即“当月利润完成率”,“当期利润完成率”等,选中行分组单元格,插入行——>“分组内下方”

image

 

  • 添加列分组中的静态列:

选中列分组,插入列——>分组内-右侧;因为列分组内包含九列,因此需要在分组内插入九列;

 

image

 

image

  • 按照报表模板,合并单元格,输入列标题:

image

 

 

7 绑定数据字段

 

拖拽数据字段,到分组单元格或其他数据单元格中:

image

 

8. 添加合计

 

选择“校园”单元格,添加合计:“分组前面”;

 

image

 

9. 修改样式

 

报表设计就完成了,接下来需要做的就是调整报表样式。

 

报表模板下载:

 

报表模板预览:

http://ars.gcpowertools.com.cn/   目录:“1. 常规报表-》Excel 表格类-》综合业绩表现报表

登录名:Demo  密码: 123456;

 

您在使用产品过程中有任何疑问,可以登录葡萄城开发者社区和经验丰富的技术工程师、ActiveReports开发人员交流:了解更多

了解ActiveReports产品更多特性:

/developer/activereports

下载产品体验产品功能:

/download/?pid=16


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网