常见的二维数据透视表(交叉表)通过横向和纵向展示数据,进行一些简单的汇总运算,而传统的数据透视表功能单一,汇总方式简单,已经无法满足现代大数据量各种条件分析,因此多维透视表应运而生。

多层分组统计报表即按照不同的数据字段,形成多级分组,并分层级进行合计。

 

传统报表的实现方式大多基于
Table
控件,虽然可实现多个分组功能,但在报表显示方面有限制,只能呈现上下级的分组,而现代的复杂报表的需求,通常是左右级嵌套,有时甚至要求相同内容的单元格合并,使用
Table
控件,有太多的局限,有了矩表控件,通过简单的拖拽就能轻松实现多层分组报表,不管有多少个分组和分组小计都能简单解决。

多维透视表在功能强大的同时,创建难度也会随之提高

下面会通过一个具体的案例,使用葡萄城报表中的矩表控件来讲解实现多层分组统计报表。

  • 多层分组嵌套的复杂的组织结构

  • 复杂的汇总分析公式的编辑

  • 小计和总计的区分等等要面临的复杂问题

 

 

(一)原始数据

ca88手机版 1

 

如果用代码实现,可能复杂程度不堪想象,更不用谈大数据量级别下报表加载的性能问题。而使用现有的简单报表工具,功能单一无法针对这一特征来满足复杂透视表的创建功能。

(二)报表结构分析

ca88手机版 2

 

 

(三)报表实现思路

1.
使用矩表控件

2.
添加多级嵌套行分组

3.
分组2添加小计,分组1添加总合计

4.
按照时间字段进行列分组。

 

矩表控件能够满足多维透视表创建的复杂功能。本文以【商品销售额与赠送金额百分比】这一典型的多维透视表为示例,使用葡萄城报表的矩表控件,通过拖拽来实现多维透视表。

(四)报表实现

1.
新建RDL 报表模板

2.
添加数据源和数据集

ca88手机版 3

ca88手机版 4

ca88手机版 53.
添加矩表控件

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

ca88手机版 6ca88手机版 7

 

4.
报表结构

4.1
添加行分组

如上述报表结构分析,行包含四级分组:

1.
Group1:=[生产方式];

2.
Group2:=[产品性质];

3.
Group3:=[所属事业部],小计;

4.
Group4:静态名称(静态列);

因此需要添加三级分组和一列静态列:

ca88手机版 8

4.1.1
选中“行分组单元格”,右键单击,添加行分组——>子分组

ca88手机版 9

 

4.1.2
添加三级分组

 ca88手机版 10

 

4.1.3
添加静态列

ca88手机版 11

 

4.1.4
添加静态行:选中四级单元格,插入行——>分组内下方,执行三次

ca88手机版 12

添加动态列:本节报表结构相对简单,只有一行“=【月】”字段的动态列,该列包含“=【周】”和按周小计。

4.2
添加列,子分组

ca88手机版 13

ca88手机版 14

报表结构基本完成,接下来需要做的是绑定数据。ca88手机版 15

 

5.
绑定报表数据

将分组数据拖拽到
单元格,静态列数据可选择。

 ca88手机版 16

ca88手机版 17

6. 
合并单元格,输入列名称

ca88手机版 18

 

7.
添加合计

添加【生产方式】合计:添加成功之后,需要自行合并单元格,调整Value值:

ca88手机版 19

ca88手机版 20

 

添加总合计:

ca88手机版 21

 

添加“【周】”合计

ca88手机版 22

 

添加总合计:

 ca88手机版 23

ca88手机版 24

8.
调整样式

到这里,报表的整体结构都已创建完成了,需要做的就是调整报表样式。

ca88手机版 25

ca88手机版 26

运行效果

ca88手机版 27

 

9.
总结一下

上面的步骤虽然看起来有些复杂,但只要真正掌握的矩表控件的原理,类似的复杂多层分组报表只需几分钟便能制作完成。

 

相关阅读:

【报表福利大放送】100余套报表模板免费下载

矩表 –
现代数据分析中必不可少的报表工具

ca88手机版 28

[多维透视表

矩表实现商品销售对比统计](http://www.cnblogs.com/powertoolsteam/p/pivot_table.html)

 

报表结构分析

行:
按照区域和省份,嵌套2层分组。

列:按照月份分组,动态列。

 

解决方案

1.
使用矩表控件

2.
添加2级行分组,首先按照区域分组,其次按照省份分组

3.
按照省份进行小计;

4.
列使用“月份”分组,分组下面嵌套三列。

 

多维透视表实现

1.
新建报表模板

2.
添加数据源和数据集

3.
添加矩表控件

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

4.
添加行分组

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

ca88手机版 29

ca88手机版 30

5.
添加列分组

根据以上分析,列分组是根据月份而定的,因此只需要默认的一个列分组就足够了,所以不需要添加其他列分组;

添加“销售额”,“搭增”,“比例”静态列:

选中“列分组单元格”插入列,选择分组内-右侧,添加三列;

 ca88手机版 31

添加完成之后,插入行,选择分组内-下方;

ca88手机版 32ca88手机版 33ca88手机版 34ca88手机版 35

6.
添加“总合计”列;

选中列分组单元格,插入列(三列),选择分组外—右侧

ca88手机版 36

ca88手机版 37

7.
绑定数据字段

表结构已经基本完成,接下来就是绑定数据字段;

1.
添加行分组数据,首先从报表资源管理器中选择“区域”字段,拖拽到行分组单元格;

2.
拖拽“省份”字段到 子分组单元格;

3.
拖拽“月份”字段到 列分组单元格;

效果如图:

ca88手机版 38

ca88手机版 39

8.
添加其他字段

可通过选中单元格,右上的字段logo来选择对应的数据字段:

ca88手机版 40

ca88手机版 41

9.
添加省份合计

选中:省份单元格,选择添加合计->分组后面;会自动添加合计行;

ca88手机版 42

效果图:

ca88手机版 43

10.
修改样式

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

ca88手机版 44

效果预览

ca88手机版 45

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

 

相关阅读:

【报表福利大放送】100余套报表模板免费下载

开放才能进步!Angular和Wijmo一起走过的日子

2017年前端框架、类库、工具大比拼

 

相关文章