图片 53

电力设备生产数据的多层分组总结报表完成,多维透视表

Posted by

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

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

报表,从来都是商业领域的主角,而随着商业智能(BI),大数据时代的到来,报表更加成为了业务系统的核心组成。因此传统的格式已经无法满足新的需求,最终用户期望在一张报表中看到更多的汇总、分类信息,而往往这些汇总和分类信息是不固定的,比如下面这张报表

 

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

图片 1

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

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

类似上图中的复杂表头和分类汇总,用传统的报表已经无法完成。矩表(Table+
Matrix)就是专为此类报表需求而产生的强大工具,无论你是文档类报表,Excel
类报表,中国式复杂报表,不限制行数和列数的报表…都会迎刃而解!

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

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

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

 

什么是矩表(Tablix)

葡萄城报表中的矩表是数据汇总统计的数据控件。矩表由矩阵(Matrix)控件演化而来,矩阵可将存储的原始Detail
数据,通过【行分组】(即垂直显示字段值)和【列分组】(即水平显示字段值),将数据二维的展示出来,然后计算每一行或列的合计;也可以将字段值作为行号或列标,在每个行列交汇处计算出各自的数量,然后计算小计和总计。如下图

图片 2

 

(一)原始数据

图片 3

 

传统矩阵的缺点:

  • ### 行分组单层次,无法支持多层级数据分析

矩阵只能将数据通过简单的二维表展示,以及简单的求和汇总统计,但对于多层级的行分组却无法满足要求,如在垂直展示销售数据时,
我们需要先按区域汇总,区域再对应各省份的详细数据,那么这样就能够更能有助于我们分析业务数据,提高精确性,而矩阵只能创建单层级数据展示,无法进行数据分层展示;

  • ### 列分组上面,无法进行夸行单元格合并;

在列上面通常对应复杂表头,如跨行合并,矩阵有很大的局限性。

图片 4

  • ### 合计功能单一

矩阵的合计仅支持自动生成的Sum()表达式,不支持编辑统计列。而客户的需求合计方式根据业务的不同,不在只有单一的合计功能,像常用的占比,环比等复杂运算。

矩表打破了矩阵的局限,无论是水平方向还是垂直方向展示字段数据,都支持多层级的分组嵌套,且能够自动合并相同内容项;支持复杂的表头合并,固定列和分组列的统一展示;
对于合计功能也更加灵活,不仅支持总计,而且支持分组内小计,合计的表达式可以根据自身需求来定制。

矩表是将存储的原始数据,通过内部的动态行列组织结构,将数据以分析汇总的方式呈现的数据控件。使用矩表,通过拖拽操作,不需要关心背后的实现逻辑,就能够按照您需要的方式来展示数据。

矩表可创建常用的列表类报表,行列转置报表,
履历表,复杂表头报表。不仅根据数据量可自动生成行列,而且可进行复杂的单元格合并,无论是简单的清单列表还是高级的矩阵数据,矩表都能够通过它强大的组织结构,拖拽实现。矩表可以将存储在数据库中的静态二维表(只有列头有含义的表数据),转换成具有汇总和统计的数据透视表,且这些数据均是根据表结构自动生成的,不需要手动添加每行每列。大大节省了我们大大提升了创建数据分析报表的效率。可谓任何复杂结构的,无规律可寻的报表结构,都可使用矩表控件来实现结构。

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

(二)报表结构分析

图片 5

 

矩表特点 

  • 强大的动态行列生成

以创建销售业绩报表,会以月份来汇报销售数据,而且需要自己手动合计当月所有的销售额,有了矩表控件后,我们只需要将月份指定到单元格,矩表会自动协助我们生成所有月份的列,并自动合计当月的销售额,同样在纵向展示销售类目时,也不需要手动添加多行类目,只需要指定类目到单元格,矩表会自动生成所有类目行。

图片 6

  • 任意行的单元格合并

在很多企事业单位,报表的复杂度可以说让人目瞪口呆,其中表头最为经典,常常表头由多行组成,且单元格合并忽上忽下。矩表则因为其组织结构的强大,可帮助我们轻轻松松实现跨多级行列的单元格合并。

 

  • 定制化的合计功能

在大数据分析过程中,对于数据分析,再也不是简单的求和,最大值,最小值,平均值这些简单的合计功能了,我们需要根据业务规定,对于满足条件的数据进行统计,求占比,同期占比等,矩表支持定制化的合计功能,不仅支持通用的合计公式,还可以根据自身需求定制表达式或编写函数。

 

  • 数据预警和可视化展示单元数据

矩表不仅可以显示基础数据,也可以通过数据预警或可视化工具来展示单元格数据。

图片 7

  • 精巧的细致的功能点

矩表是非常专业的数据展示工具,因而细化了用户的需求,如行标题和列标题不仅可在每页重复显示,而且还可固定行头列头,当大数据量需要滚屏查看时,有了固定行头和列头的体验更加易于客户查找数据。

 

(三)报表实现思路

1.
使用矩表控件

2.
添加多级嵌套行分组

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

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

 

为什么要使用矩表?

要做大数据的统计分析,您需要矩表。

数据量过多需要实现自动归类,您需要矩表,矩表提供的动态分组功能,自动帮您合并相同内容项,进行合计。

需要制作中国特色的报表,您需要矩表,解决报表结构复杂的问题。

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

(四)报表实现

1.
新建RDL 报表模板

2.
添加数据源和数据集

图片 8

图片 9

图片 103.
添加矩表控件

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

图片 11图片 12

 

4.
报表结构

4.1
添加行分组

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

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

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

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

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

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

图片 13

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

图片 14

 

4.1.2
添加三级分组

 图片 15

 

4.1.3
添加静态列

图片 16

 

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

图片 17

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

4.2
添加列,子分组

图片 18

图片 19

报表结构基本完成,接下来需要做的是绑定数据。图片 20

 

5.
绑定报表数据

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

 图片 21

图片 22

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

图片 23

 

7.
添加合计

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

图片 24

图片 25

 

添加总合计:

图片 26

 

添加“【周】”合计

图片 27

 

添加总合计:

 图片 28

图片 29

8.
调整样式

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

图片 30

图片 31

运行效果

图片 32

 

9.
总结一下

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

 

相关阅读:

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

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

实例 – 使用矩表创建【产品销售数据分析表】

在设计器中添加
矩表

图片 33

将订购月指定到【行分组】单元格中,将【类别名称】指定到列分组单元格中,在最下方单元格中指定合计方法:

=Sum(Sum(Fields!数量.Value
*Fields!单价.Value * (1-Fields!折扣.Value)))
修改为:=Sum(Fields!数量.Value *Fields!单价.Value *
(1-Fields!折扣.Value))

图片 34

 

最终效果

图片 35

转载请注明出自:葡萄城控件

 

相关阅读:

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

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

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

Angular vs React
最全面深入对比

 

图片 36

[多维透视表

矩表实现商品销售对比统计]()

 

报表结构分析

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

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

 

解决方案

1.
使用矩表控件

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

3.
按照省份进行小计;

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

 

多维透视表实现

1.
新建报表模板

2.
添加数据源和数据集

3.
添加矩表控件

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

4.
添加行分组

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

图片 37

图片 38

5.
添加列分组

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

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

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

 图片 39

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

图片 40图片 41图片 42图片 43

6.
添加“总合计”列;

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

图片 44

图片 45

7.
绑定数据字段

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

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

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

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

效果如图:

图片 46

图片 47

8.
添加其他字段

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

图片 48

图片 49

9.
添加省份合计

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

图片 50

效果图:

图片 51

10.
修改样式

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

图片 52

效果预览

图片 53

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

 

相关阅读:

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

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

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

 

相关文章

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注